使用Spring Log4jConfigListener實現Log4j中以相對路徑指定的日誌文件

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%n
3. 主要實現類:

org.springframework.web.util.Log4jConfigListener

org.springframework.web.util.Log4jWebConfigurer

org.springframework.web.util.WebUtils
相關文章
相關標籤/搜索