1. 在web.xml 增长以下代码: java
<context-param> <param-name>webAppRootKey</param-name> <param-value>webapp.root</param-value> </context-param> <context-param> <param-name>log4jConfigLocation</param-name> <param-value>/WEB-INF/classes/log4j.properties</param-value> </context-param> <context-param> <param-name>log4jRefreshInterval</param-name> <param-value>1000</param-value> </context-param> <listener> <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class> </listener>2. log4j.properties 文件内容以下:
#根的方案主,给全部java类指定日志模式 log4j.rootLogger=DEBUG,CASE1,CASE2 #适用于调试程序,log4j输入为debug级,并将ERROR、WARN、INFO、DEBUG输出到控制台及日志文件 #CASE1方案,输出到控制台 log4j.appender.CASE1=org.apache.log4j.ConsoleAppender #模板布局 log4j.appender.CASE1.layout=org.apache.log4j.PatternLayout #信息输出格式 log4j.appender.CASE1.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss,SSS} [%l]-[%p] %m%n #CASE2方案,输出到每日一个文件 log4j.appender.CASE2=org.apache.log4j.DailyRollingFileAppender #输出文件名 #log4j.appender.CASE2.file=/data/nba/id.nba.tom.com/idnba/logs/logsDaily log4j.appender.CASE2.file=${webapp.root}/logs/wapDaily.log #天天更换文件名时的命名规则 log4j.appender.CASE2.DatePattern='.'yyyy-MM-dd #模板布局 log4j.appender.CASE2.layout=org.apache.log4j.PatternLayout #信息输出格式 log4j.appender.CASE2.layout.ConversionPattern=[%-5p] %L-%d{yyyy-MM-dd HH\:mm\:ss,SSS} method\:%l - %m%n3. 主要实现类:
org.springframework.web.util.Log4jConfigListener org.springframework.web.util.Log4jWebConfigurer org.springframework.web.util.WebUtils