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