log4j记录日志 和 webAppRootKey关系

今天发现一个问题,就是后台从某天开始不再记录日志了,最后发现是 webAppRootKey 的 value 的值必须要和log4j的注入变量要一致。

如下:web.xml文件的 webAppRootKey 节点:value = Mes

1     <context-param>
2         <param-name>webAppRootKey</param-name>
3         <param-value>Mes</param-value>
4     </context-param>

但是 log4j.properties 注入的变量 = webapp.root,不一致

两个地方要必须一致:

 1 log4j.rootLogger=ERROR,stdout,D
 2 log4j.appender.stdout=org.apache.log4j.ConsoleAppender
 3 log4j.appender.stdout.Target=System.out
 4 log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
 5 log4j.appender.stdout.layout.ConversionPattern= %d{ABSOLUTE} %5p %c{1}:%L - %m%n
 6 log4j.appender.D=org.apache.log4j.DailyRollingFileAppender
 7 log4j.appender.D.Threshold=ERROR
 8 log4j.appender.D.File=${Mes}/WEB-INF/logs/log
 9 log4j.appender.D.DatePattern=‘_‘yyyy-MM-dd‘.log‘
10 log4j.appender.D.Append=true
11 log4j.appender.D.layout=org.apache.log4j.PatternLayout
12 log4j.appender.D.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%t:%r] - [%p]  %m%n
时间: 2024-12-18 20:36:44

log4j记录日志 和 webAppRootKey关系的相关文章

浅谈如何使用Log4j记录日志

一.什么是log4j Log4J是Apache的一个开放源代码的项目.通过使用Log4J,程序员可以控制日志信息输送的目的地,包括控制台,文件,GUI组件和NT事件记录器,也可以控制每一条日志的输出格式,或通过定义每一条日志信息的级别,更加细致地控制日志的生成过程. 二.日志及分类 软件的运行过程中离不开日志,日志主要用来记录系统运行过程中的一些重要的操作信息,便于监视系统运行时的情况,帮助用户提前发现和避开可能出现的问题,或者出现问题后根据日志找到发生的原因. 日志根据记录的不同,主要分为三类

Log4j记录日志使用方法

一.什么是log4j Log4J是Apache的一个开放源代码的项目.通过使用Log4J,程序员可以控制日志信息输送的目的地,包括控制台,文件,GUI组件和NT事件记录器,也可以控制每一条日志的输出格式,或通过定义每一条日志信息的级别,更加细致地控制日志的生成过程. 二.日志及分类 软件的运行过程中离不开日志,日志主要用来记录系统运行过程中的一些重要的操作信息,便于监视系统运行时的情况,帮助用户提前发现和避开可能出现的问题,或者出现问题后根据日志找到发生的原因. 日志根据记录的不同,主要分为三类

[转] Log4j 配置 的webAppRootKey参数问题

在tomcat下部署两个或多个项目时,web.xml文件中最好定义webAppRootKey参数,如果不定义,将会缺省为“webapp.root”,如下:<!-- 应用路径 --> <context-param> <param-name>webAppRootKey</param-name> <param-value>webapp.root</param-value> </context-param> 最好保持每个项目的参数

Java日志commons-logging log4j slf4j之间的关系

一.之前进行日志操作一般都是在一个类中加入如下代码: import org.apache.log4j.Logger; //引入的是log4j的包 private static final Logger LOG = Logger.getLogger(Test.class); 二.后来看见别人的代码是这样写的: import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; //引入的是comm

Log4j记录日志步骤

记录日志对调试Bug很有帮助  亲身体会 个人习惯用Log4J,大家可以在apache网站:jakarta.apache.org/log4j 可以免费下载到Log4j最新版本的软件包. Log4j支持两种配置文件格式,一种是XML格式的文件,一种是(键=值)格式的 1)首先引入Lof4j的dll文件 2)新建一个记录日志的类,实例化Log4j 使用Log4j,第一步就是获取日志记录器,这个记录器将负责控制日志信息 通过指定的名字获得记录器: public static readonly ILog

Log4j 配置 的webAppRootKey参数问题

为了让Web项目中的Spring 使用Log4j做如下配置: 1.在web.xml中添加如下内容: <!--如果不定义webAppRootKey参数,那么webAppRootKey就是缺省的"webapp.root".但最好设置,以免项目之间的名称冲突. 如我这里有两个项目都在web.xml都没配置webAppRootKey,那么这两个项目发布到tomcat时就会出现如下的异常: Xml代码 严重: Exception sending context initialized ev

使用commons-logging和log4j记录日志

一,为什么要使用commons-logging+log4j? commons-logging和log4j都是Apache下的开源项目.commons-logging的目的是为“所有的Java日志实现”提供一个统一的接口,使项目与日志实现工具解耦,它自身的日志功能比较弱(只有一个简单的 SimpleLog),所以一般不会单独使用它.Log4j的功能非常强大,是目前最主流的java日志工具.结合使用两者可以避免使项目与log4j紧密耦合,用户可以轻松切换到其他日志工具,同时又可以使用log4j的强大

在Spring项目中使用Log4j记录日志

(1)引入log4j的jar包: 官网下载地址:http://logging.apache.org/log4j/1.2/download.html (2)在web.xml中添加log4j配置: 1 2 3 4 5 6 7 8 <context-param>     <param-name>log4jConfigLocation</param-name>     <param-value>classpath:log4j.properties</param

Log4j记录日志到数据库

1.自定义输出消息 /** * 参数化消息 * @author Johnson.Lee * */ public interface ParameterizedMessage extends Serializable { /** * 获取参数列表 * @return 返回参数列表 */ public Object[] getParameters(); /** * 获取指定索引位置的参数 * @param index 索引位置 * @return 返回参数列表中指定索引位置的参数值 * @throw