关于log4j的配置文件

因为要在spring中添加Mongodb,在网上查阅资料的时候我发现有人在web.xml中添加如下代码:

  1. <context-param>
  2.       <param-name>log4jConfigLocation</param-name>
  3.       <param-value>classpath:config/properties/log4j.properties</param-value>
  4.    </context-param>
  5.  
  6.    <listener>
  7.       <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
  8.    </listener>

可以定义log4j的配置文件的路径。

因为我向来是把这个文件放在src下的。这种可配置的做法让我迷惑:

这种可配置的做法依赖于web.xml,那么也就是说只有web项目才能使用。而且要配置springframework下的一个Log4jConfigListener。所以这种做法更加奇怪。

我尝试在src下和classpath:config/properties/下都放了log4j.properties文件,但是log文件的输出路径不同。结果系统启动的时候会在两个位置都创建log文件。不过,最后经过我的验证,只有web.xml中配置的log文件会打印出内容,另外一个log文件甚至不是"占用"状态,可以删除不会报错。

后来我把web.xml中的这段配置删除,src下的配置的log文件就开始生效,保持占用状态,可以输出错误日志。

最终我的结论是,web.xml中配置的路径将优先生效,并发挥作用。

在整个过程中,还有一个经验是,如果log4g.properties的内容有错误,那么在启动的时候,会报和没有配置log4g. properties文件一样的错误:

  1. log4j:WARN No appenders could be found for logger (org.springframework.web.context.ContextLoader).
  2. log4j:WARN Please initialize the log4j system properly.
  3. log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
时间: 2024-10-15 17:50:29

关于log4j的配置文件的相关文章

mybatis显示sql语句 log4j.properties配置文件

log4j.properties配置如下: 1 将ibatis log4j运行级别调到DEBUG可以在控制台打印出ibatis运行的sql语句,方便调试: 2 3 ### 设置Logger输出级别和输出目的地 ### 4 log4j.rootLogger=debug,stdout,logfile 5 6 7 ### 把日志信息输出到控制台 ### 8 log4j.appender.stdout=org.apache.log4j.ConsoleAppender 9 #log4j.appender.

Log4J的配置文件

Log4J的配置文件(Configuration File)就是用来设置记录器的级别.存放器和布局的,它可接key=value格式的设置或xml格式的设置信息.通过配置,可以创建出Log4J的运行环境. 1. 配置文件 Log4J配置文件的基本格式如下: #配置根Logger log4j.rootLogger  =   [ level ]   ,  appenderName1 ,  appenderName2 ,  - #配置日志信息输出目的地Appender log4j.appender.ap

log4j通过配置文件配置即,即可完成系统报错想向指定邮箱发送提醒消息,网上的很多方法都又问题

我参考了下面的链接去实现,但是遇到了一些问题 参考链接: 1)http://blog.csdn.net/azheng270/article/details/2173430/ 这个链接说了如何操作的问题,但是他的log4j的配置文件感觉有问题 2)http://blog.csdn.net/cosmichut/article/details/2448159  log4j配置相对又点全 大致说一下步骤: 1.下载activation.jar和mail.jar,导入项目 2.下载log4j的压缩包文件,

WEB系统启动时加载Log4j的配置文件

如何在系统启动的时候加载log4j的配置文件呢? 1.自定义监听类并且继承“ServletContextListener”接口: 1 package cn.ibeans.common; 2 3 import java.io.File; 4 import java.util.List; 5 6 import javax.servlet.ServletContextEvent; 7 import javax.servlet.ServletContextListener; 8 9 import org

在单元测试中指定log4j的配置文件

在开发过程中,我们会使用到log4j来输出日志,我们希望在单元测试的时候,只看到部分日志信息,或者定义日志输出的级别.   这个时候手工指定log4j的配置文件:   具体做法如下: 定义类如下: import java.io.FileNotFoundException; import org.junit.runners.model.InitializationError; import org.springframework.test.context.junit4.SpringJUnit4Cl

log4j.properties配置文件详解

Log4J的配置文件(Configuration File)就是用来设置记录器的级别.存放器和布局的,它可接key=value格式的设置或xml格式的设置信息.通过配置,可以创建出Log4J的运行环境. 1. 配置文件Log4J配置文件的基本格式如下: #配置根Logger log4j.rootLogger = [ level ] , appenderName , appenderName1 , … #配置日志信息输出目的地Appender及Appender选项 log4j.appender.a

Log4J的配置文件详解

Log4J的配置文件(Configuration File)就是用来设置记录器的级别.存放器和布局的,它可接key=value格式的设置或xml格式的设置信息.通过配置,可以创建出Log4J的运行环境. 1. 配置文件Log4J配置文件的基本格式如下: #配置根Logger log4j.rootLogger = [ level ] , appenderName , appenderName1 , … #配置日志信息输出目的地Appender及Appender选项 log4j.appender.a

log4j.properties配置文件一些理解

Log4J的配置文件就是用来设置记录器的级别.存放器和布局的,它可接key=value格式的设置或xml格式的设置信息.log4j.properties是被PropertyConfigurator类中的doConfigure方法进行解析的. Log4J配置文件的基本格式如下: #配置根Logger log4j.rootLogger = [ level ] , appenderName , appenderName1 , … #配置日志信息输出目的地Appender及Appender选项 log4

log4j.properties配置文件

#配置根 Logger,其语法为:log4j.rootLogger = level,appenderName1,appenderName2,... #优先级:ALL < DEBUG < INFO <WARN < ERROR < FATAL < OFF #org.apache.log4j.ConsoleAppender 控制台输出 #org.apache.log4j.FileAppender 文件日志输出 #org.apache.log4j.DailyRollingFil