Spring配置log4j

一、添加log4j依賴包

官網下載地址:http://logging.apache.org/log4j/2.x/download.html

maven項目配置

<dependency>
	<groupId>log4j</groupId>
	<artifactId>log4j</artifactId>
	<version>1.2.17</version>
</dependency>

二、編寫log4j.properties 配置文件

log4j.rootLogger=DEBUG,A,CONSOLE
log4j.addivity.org.apache=false

log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.Threshold=Trace
log4j.appender.CONSOLE.layout.ConversionPattern=[boss_sys] %d{yyyy-MM-dd HH\:mm\:ss.SSS} -%-4r [%t] %-5p  %x - %m%n
log4j.appender.CONSOLE.Target=System.out
log4j.appender.CONSOLE.Encoding=utf-8
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout


log4j.appender.A=org.apache.log4j.DailyRollingFileAppender  
log4j.appender.A.File=${catalina.home}/logs/boss_log/boss
log4j.appender.A.DatePattern=yyyy-MM-dd'.log'
log4j.appender.A.layout=org.apache.log4j.PatternLayout  
log4j.appender.A.layout.ConversionPattern=[boss_sys]  %d{yyyy-MM-dd HH\:mm\:ss} %5p %c{1}\:%L \: %m%n

三、Spring配置log4j

如果Spring是java項目,只要將log4j.properties 配置文件放到src目錄下,如果是java maven項目log4j.properties配置文件放到src/main/java目錄下。

但在web項目中,我們需要再web.xml中配置,web.xml配置log4j內容如下:

<!-- 加載log4j的配置文件log4j.properties  -->
<context-param>
    <param-name>log4jConfigLocation</param-name>
    <param-value>/WEB-INF/log4j.properties</param-value>
</context-param>

<!-- 設定刷新log4j日誌配置文件的時間間隔,這裏設置爲10s -->
<context-param>
    <param-name>log4jRefreshInterval</param-name>
    <param-value>10000</param-value>
</context-param>

<!-- 加載Spring框架中的log4j監聽器Log4jConfigListener -->
<listener>
    <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>

<!-- 
	爲避免項目間衝突,定義唯一的 webAppRootKey。
	webAppRootKey指定一個項目路徑的系統變量, 相同tomcat中,不同項目該值不能一樣
	該值指向的是tomcat中項目路徑,例如:D:\tomcat 7.0\webapps\web\
	通過System.getProperty("webapp.root")可以獲取
	log4j.properties通過該值可以指定日誌文件路徑到項目下
	例如:log4j.appender.file.File=${webapp.root}/WEB-INF/logs/sample.log
	相當於:D:\tomcat 7.0\webapps\web\WEB-INF\logs\sample.log
	
	Spring通過org.springframework.web.util.WebAppRootListener這個監聽器來加載運行時的項目路徑,將該路徑賦值到該參數。
	但是如果在web.xml中已經配置了 org.springframework.web.util.Log4jConfigListener這個監聽器,
	則不需要配置WebAppRootListener了。因爲Log4jConfigListener已經包含了WebAppRootListener的功能
	-->
<context-param>
	<param-name>webAppRootKey</param-name>
	<param-value>webapp.root</param-value>
</context-param>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章