Spring整合log4j日誌管理
阿新 • • 發佈:2019-01-31
在使用Spring框架的時候,我們可以很方便的配置log4j來進行日誌管理。
進行配置之前,首先得下載jar包(log4j-1.2.11.jar)
配置如下:
1.在web.xml中最上面加入如下配置程式碼:
[html] view plaincopyprint?- <!--log4j配置檔案載入-->
- <context-param>
- <param-name>log4jConfigLocation</param-name>
- <param-value>/WEB-INF/log4j.properties</param-value>
- </
- <!--啟動一個watchdog執行緒每1800秒掃描一下log4j配置檔案的變化-->
- <context-param>
- <param-name>log4jRefreshInterval</param-name>
- <param-value>1800000</param-value>
- </context-param>
- <!--spring log4j監聽器-->
- <listener>
- <listener-class>org.springframework.web.util.Log4jConfigListener
- </listener>
<!--log4j配置檔案載入--> <context-param> <param-name>log4jConfigLocation</param-name> <param-value>/WEB-INF/log4j.properties</param-value> </context-param> <!--啟動一個watchdog執行緒每1800秒掃描一下log4j配置檔案的變化--> <context-param> <param-name>log4jRefreshInterval</param-name> <param-value>1800000</param-value> </context-param> <!--spring log4j監聽器--> <listener> <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class> </listener>
2.把log4j.properties配置檔案放在上面配置的指定的目錄下
log4j.properties配置檔案:
- ######################################
- # log4j配置相關說明
- ######################################
- #%p 輸出優先順序,即DEBUG,INFO,WARN,ERROR,FATAL
- #%r 輸出自應用啟動到輸出該log資訊耗費的毫秒數
- #%c 輸出所屬的類目,通常就是所在類的全名
- #%t 輸出產生該日誌事件的執行緒名
- #%m 輸出程式碼中指定的資訊
- #%n 輸出一個回車換行符,Windows平臺為“\r\n”,Unix平臺為“\n”
- #%d 輸出日誌時間點的日期或時間,預設格式為ISO8601,也可以在其後指定格式,比如:%d{yyyy MM dd HH:mm:ss,SSS},輸出類似: 2002年10月18日 22:10:28,921
- #%l 輸出日誌事件的發生位置,包括類目名、發生的執行緒,以及在程式碼中的行數。舉例:Testlog4.main(TestLog4.java:10)
- #log4j提供4種佈局:
- #org.apache.log4j.HTMLLayout(以HTML表格形式佈局)
- #org.apache.log4j.PatternLayout(可以靈活地指定佈局模式),
- #org.apache.log4j.SimpleLayout(包含日誌資訊的級別和資訊字串),
- #org.apache.log4j.TTCCLayout(包含日誌產生的時間、執行緒、類別等等資訊
- #log4j中有五級logger 輸出級別:
- #FATAL 0
- #ERROR 3
- #WARN 4
- #INFO 6
- #DEBUG 7
- ######################################
- # log4j相關配置
- ######################################
- #日誌輸出級別
- log4j.rootLogger=INFO,stdout,other
- #設定stdout的日誌輸出控制檯
- log4j.appender.stdout=org.apache.log4j.ConsoleAppender
- #輸出日誌到控制檯的方式,預設為System.out
- log4j.appender.stdout.Target = System.out
- #設定使用靈活佈局
- log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
- #靈活定義輸出格式
- log4j.appender.stdout.layout.ConversionPattern=[%p][%d{yyyy-MM-dd HH:mm:ss}] %l %m %n
- #設定other的日誌輸出控制檯
- log4j.appender.other=org.apache.log4j.RollingFileAppender
- #設定other的輸出日誌
- log4j.appender.other.File=${webapp.root}/WEB-INF/logs/log.log
- #設定other的日誌最大限制
- log4j.appender.other.MaxFileSize=1024KB
- #最多隻儲存20個備份檔案
- log4j.appender.other.MaxBackupIndex=1000
- #輸出INFO級別以上的日誌
- og4j.appender.other.Threshold=INFO
- #設定使用靈活佈局
- log4j.appender.other.layout=org.apache.log4j.PatternLayout
- #靈活定義輸出格式
- log4j.appender.other.layout.ConversionPattern=[%p][%d{yyyy-MM-dd HH:mm:ss}] %l %t %m %n
- ######################################
- # hibernate相關配置
- ######################################
- #輸出hibernate除錯過程中的錯誤日誌
- log4j.logger.org.hibernate=other
- #輸出HQL查詢除錯日誌
- log4j.logger.org.hibernate.hql.ast.AST=other
- #輸出SQL語句除錯日誌
- log4j.logger.org.hibernate.SQL=other
- #輸出 JDBC引數查詢的日誌
- log4j.logger.org.hibernate.type=other
- #輸出快取日誌
- log4j.logger.org.hibernate.cache=other
- #輸出事務日誌
- log4j.logger.org.hibernate.transaction=other
- #輸出獲取JDBC資源日誌
- log4j.logger.org.hibernate.jdbc=other