使用log4j注意事项

使用log4j需注意以下几项:
1.log4j.properties的配置文件需放在src(或者WEB/INFO/classes)目录下,启动tomcat进程时log4j引擎也会随之启动(也就是log4j会自动初始化)。

2.如果log4j.properties配置文件放在别的目录,则需要应用程序负责初始化log4j(因为tomcat启动时在classes下面没有找到log4j.properties文件,所以不会初始化log4j).如:spring它提供了一个初始化log4j的监听类,当然你也可以自已写个servlet初始化log4j.

3.log4j.properties里面的配置key=value时,value后面一定不能有空格,否则该项配置不能生效,因为log4j没有处理value后面的空格。

4.一个应用程序里面不能包含2个log4j.properties配置文件,否则会冲突,所以如果你的应用程序用到了第三方框架,或者部署的应用程序的容器(如jboss)已经有了log4j.properties文件,你可以在其log4j.properties的配置中加上自已业务上的日志配置。如果你还是需要添加自已的log4j.properties,也可以通过应用程序负责初始化log4j.如上面提到的,在spring框架中,可以在web.xml配置一个监听类来初始化log4j.

5.要想记录详细的错误堆栈信息,需使用log.error(message,throwable);这个方法。

spring2.5的监听类配置:
<context-param> 
<param-name>log4jConfigLocation</param-name> 
<param-value>/WEB-INF/classes/log4j.properties</param-value>
</context-param> 
<listener> 
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>

log4j配置样例:
log4j.rootLogger=INFO,log

log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%m%n

#####info log
log4j.appender.log=org.apache.log4j.RollingFileAppender
log4j.appender.log.File=../logs/manager.log
log4j.appender.log.MaxFileSize=1MB
log4j.appender.log.MaxBackupIndex=1000
log4j.appender.log.layout=org.apache.log4j.PatternLayout
log4j.appender.log.layout.ConversionPattern=%p %C.%M(%L) %d{yyyy-MM-dd HH\:mm\:ss} - %m%n

#####debug file
log4j.appender.debug_log=org.apache.log4j.RollingFileAppender
log4j.appender.debug_log.File=../logs/debug.log
log4j.appender.debug_log.MaxFileSize=1MB
log4j.appender.debug_log.MaxBackupIndex=1000
log4j.appender.debug_log.layout=org.apache.log4j.PatternLayout
log4j.appender.debug_log.layout.ConversionPattern=%p %C.%M(%L) %d{yyyy-MM-dd HH\:mm\:ss} - %m%n

猜你喜欢

转载自lusanxiong.iteye.com/blog/1550467
今日推荐