log4j配置文件
示例:
# Set root category priority to INFO and its only appender to CONSOLE.
#log4j.rootCategory=INFO, CONSOLE debug info warn error fatal
log4j.rootCategory=debug, CONSOLE, LOGFILE
# Set the enterprise logger category to FATAL and its only appender to CONSOLE.
log4j.logger.org.apache.axis.enterprise=FATAL, CONSOLE
# CONSOLE is set to be a ConsoleAppender using a PatternLayout.
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%d{ISO8601} %-6r [%15.15t] %-5p %30.30c %x - %m%n
LOGFILE is set to be a File appender using a PatternLayout.
log4j.appender.LOGFILE=org.apache.log4j.FileAppender
log4j.appender.LOGFILE.File=d:\axis.log
log4j.appender.LOGFILE.Append=true
log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout
log4j.appender.LOGFILE.layout.ConversionPattern=%d{ISO8601} %-6r [%15.15t] %-5p %30.30c %x - %m%n
**1、log4j.rootCategory=INFO, stdout , R ** (重點)
此句爲將等級爲INFO的日誌信息輸出到stdout和R這兩個目的地,stdout和R的定義在下面的代碼,
可以任意起名
。等級可分爲OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL,如果配置OFF則不打出任何信息,如果配置爲INFO這樣只顯示INFO、WARN、ERROR的log信息,而DEBUG信息不會被顯示,具體講解可參照第三部分定義配置文件中的logger。
2、log4j.appender.stdout=org.apache.log4j.ConsoleAppender
此句爲定義名爲
[stdout]
的輸出端是哪種類型,可以是org.apache.log4j.ConsoleAppender(控制檯),
org.apache.log4j.FileAppender(文件),
org.apache.log4j.DailyRollingFileAppender(每天產生一個日誌文件),
org.apache.log4j.RollingFileAppender(文件大小到達指定尺寸的時候產生一個新的文件)
org.apache.log4j.WriterAppender(將日誌信息以流格式發送到任意指定的地方)
3、log4j.appender.stdout
.layout=org.apache.log4j.PatternLayout
此句爲定義名爲stdout的輸出端的layout是哪種類型,可以是
org.apache.log4j.HTMLLayout(以HTML表格形式佈局),
org.apache.log4j.PatternLayout(可以靈活地指定佈局模式),
org.apache.log4j.SimpleLayout(包含日誌信息的級別和信息字符串),
org.apache.log4j.TTCCLayout(包含日誌產生的時間、線程、類別等等信息)
具體講解可參照第三部分定義配置文件中的Layout。
4、log4j.appender.stdout
.layout.ConversionPattern= [QC] %p [%t] %C.%M(%L) | %m%n
如果使用pattern佈局就要指定的打印信息的具體格式ConversionPattern,打印參數如下:
%m 輸出代碼中指定的消息;
%M 輸出打印該條日誌的方法名;
%p 輸出優先級,即DEBUG,INFO,WARN,ERROR,FATAL;
%r 輸出自應用啓動到輸出該log信息耗費的毫秒數;
%c 輸出所屬的類目,通常就是所在類的全名;
%t 輸出產生該日誌事件的線程名;
%n 輸出一個回車換行符,Windows平臺爲"rn”,Unix平臺爲"n”;
%d 輸出日誌時間點的日期或時間,默認格式爲ISO8601,也可以在其後指定格式,比如:%d{yyyy-MM-dd HH:mm:ss,SSS},輸出類似:2002-10-18 22:10:28,921;
%l 輸出日誌事件的發生位置,及在代碼中的行數;
[QC]是log信息的開頭,可以爲任意字符,一般爲項目簡稱。
輸出的信息
[TS] DEBUG [main] AbstractBeanFactory.getBean(189) | Returning cached instance of singleton bean ‘MyAutoProxy’
具體講解可參照第三部分定義配置文件中的格式化日誌信息。
5、log4j.appender.R
=org.apache.log4j.DailyRollingFileAppender
定義名爲R的輸出端的類型爲每天產生一個日誌文件。
6、log4j.appender.R
.File=D:\Tomcat 5.5\logs\qc.log
此句爲定義名爲R的輸出端的文件名爲D:\Tomcat 5.5\logs\qc.log可以自行修改。
7、log4j.appender.R
.layout=org.apache.log4j.PatternLayout
輸出的日誌佈局
8、log4j.appender.R
.layout.ConversionPattern=%d-[TS] %p %t %c - %m%n
自定義格式輸出,參考4點的格式
9、log4j.logger.com. neusoft =DEBUG
指定com.neusoft包下的所有類的等級爲DEBUG。
10、log4j.logger.com.opensymphony.oscache=ERROR
11、log4j.logger.net.sf.navigator=ERROR
這兩句是把這兩個包下出現的錯誤的等級設爲ERROR,如果項目中沒有配置EHCache(二級緩存),則不需要這兩句。
12、log4j.logger.org.apache.commons=ERROR
13、log4j.logger.org.apache.struts=WARN
這兩句是struts的包。
14、log4j.logger.org.displaytag=ERROR
這句是displaytag的包。(QC問題列表頁面所用)
15、log4j.logger.org.springframework=DEBUG
此句爲Spring的包。
16、log4j.logger.org.hibernate.ps.PreparedStatementCache=WARN
17、log4j.logger.org.hibernate=DEBUG
此兩句是hibernate的包。
以上這些包的設置可根據項目的實際情況而自行定製。