最近才有机会重新研究了一下log4j,整理如下:
#@not support hotloading
# For JBoss: Avoid to setup Log4J outside $JBOSS_HOME/server/default/deploy/log4j.xml!
# For all other servers: Comment out the Log4J listener in web.xml to activate Log4J.
#
# Log4J Settings for log4j 1.2.x (via jakarta-commons-logging)
#
# The five logging levels used by Log are (in order):
#
# 1. DEBUG (the least serious)
# 2. INFO
# 3. WARN
# 4. ERROR
# 5. FATAL (the most serious)
# Set root logger level to WARN and append to stdout
# OpenSymphony Stuff
log4j.logger.com.opensymphony=INFO,logfile,stdout
# Struts2 Stuff
log4j.logger.org.apache.struts2=INFO,logfile,stdout
# Spring Stuff
log4j.logger.org.springframework=INFO,logfile,stdout
# Hibernate Stuff
log4j.logger.org.hibernate=INFO,logfile,stdout
# Own Stuff
log4j.logger.my.com = INFO,logfile,stdout
### \u540e\u53f0\u63a7\u5236\u53f0\u7684\u6253\u5370 ###
log4j.appender.stdout = org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target = System.out
log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern = %d{ABSOLUTE} %5p %c{1}:%L - %m%n
# the config for report
log4j.appender.logfile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.logfile.File=${catalina.base}/logs/my.log
log4j.appender.logfile.DatePattern='.'yyyy-MM-dd
log4j.appender.logfile.Append=true
log4j.appender.logfile.Threshold=DEBUG
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=[%d{yyyy-MM-dd HH:mm:ss}]%-5p %l [%t] %m%n
然后要在web.xml中添加一个参数和一个监听
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>classpath:config/log4j.properties</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>