log4j.properties詳解
來源:程序員人生 發布時間:2015-05-22 08:24:33 閱讀次數:3500次
前言
log4j實際上是1個非常普遍和經常使用的1個apache的日志記錄工具。雖然1直都在使用,但是還沒真自己寫過,昨天跟朋友討論到了日志,因而今天又將log4j的語法甚么的看了1遍。今天就主要跟大家分享下最經常使用的log4j.properties和log4j.xml。
正題
1. 配置
log4j.properties是我們之前比較經常使用的1種配置文件,它使用起來比較簡單方便,我們先來看下它的配置:
<span style="font-family:KaiTi_GB2312;font-size:18px;"># 將根日志級別設為INFO,文件輸出到兩個位置,ERRORFILE和WELCOMEFILE.
log4j.rootLogger=INFO, ERRORFILE,WELCOMEFILE
# 將ERRORFILE的輸出端設置為控制臺輸出,而WELCOMEFILE則輸出到名為welcome.log的文件.
log4j.appender.ERRORFILE=org.apache.log4j.ConsoleAppender
log4j.appender.WELCOMEFILE=org.apache.log4j.RollingFileAppender
log4j.appender.WELCOMEFILE.File=welcome.log
# 設置ERRORFILE的輸出端模式和顯示的信息
log4j.appender.ERRORFILE.layout=org.apache.log4j.PatternLayout
log4j.appender.ERRORFILE.layout.ConversionPattern=[QC] %p [%t] %C.%M(%L) | %m%n
log4j.appender.WELCOMEFILE.layout=org.apache.log4j.PatternLayout
log4j.appender.WELCOMEFILE.layout.ConversionPattern=[QC] %p [%t] %C.%M(%L) | %m%n
# 將com.dan.test包下的日志級別設置為DEBUG,并輸出到welcome.log文件
log4j.logger.com.dan.test=DEBUG, WELCOMEFILE</span>
2. 配置詳解
上面的小段配置文件中已解釋了每一個設置的意圖,下面我再將比較細致的解釋說明下:
1) log4j.rootLogger=INFO, ERRORFILE,WELCOMEFILE
此句為將等級為INFO的日志信息輸出到ERRORFILE和WELCOMEFILE這兩個目的地,WELCOMEFILE和WELCOMEFILE的定義在下面的代碼,可以任意起名。等級可分為OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL,如果配置OFF則不打出任何信息,如果配置為INFO這樣只顯示INFO,
WARN, ERROR的log信息,而DEBUG信息不會被顯示。
2) log4j.appender.ERRORFILE=org.apache.log4j.ConsoleAppender
此句為定義名為ERRORFILE的輸出端是哪一種類型,可以是
org.apache.log4j.ConsoleAppender(控制臺),
org.apache.log4j.FileAppender(文件),
org.apache.log4j.DailyRollingFileAppender(每天產生1個日志文件),
org.apache.log4j.RollingFileAppender(文件大小到達指定尺寸的時候產生1個新的文件)
org.apache.log4j.WriterAppender(將日志信息以流格式發送到任意指定的地方)
3) log4j.appender.ERRORFILE.layout=org.apache.log4j.PatternLayout
此句為定義名為stdout的輸出真個layout是哪一種類型,可以是
org.apache.log4j.HTMLLayout(以HTML表格情勢布局),
org.apache.log4j.PatternLayout(可以靈活地指定布局模式),
org.apache.log4j.SimpleLayout(包括日志信息的級別和信息字符串),
org.apache.log4j.TTCCLayout(包括日志產生的時間、線程、種別等等信息)
4) log4j.appender.stdout.layout.ConversionPattern= [QC] %p [%t] %C.%M(%L) | %m%n
如果使用pattern布局就要指定的打印信息的具體格式ConversionPattern,打印參數以下:
%m 輸出代碼中指定的消息
%p 輸出優先級,即DEBUG,INFO,WARN,ERROR,FATAL
%r 輸出自利用啟動到輸出該log信息耗費的毫秒數
%c 輸出所屬的類目,通常就是所在類的全名
%t 輸生產生該日志事件的線程名
%n 輸出1個回車換行符,Windows平臺為“rn”,Unix平臺為“n”
%d 輸出日志時間點的日期或時間,默許格式為ISO8601,也能夠在其后指定格式,比如:%d{yyyy MMM dd HH:mm:ss,SSS},輸出類似:2015年04月30日 12:10:28,921
%l 輸出日志事件的產生位置,包括類目名、產生的線程,和在代碼中的行數。
[QC]是log信息的開頭,可以為任意字符,1般為項目簡稱。
輸出的信息
[TS] DEBUG [main] com.dan.test.TestClass - debug msg
5) log4j.appender.WELCOMEFILE.File=welcome.log
此句為定義名為WELCOMEFILE的輸出真個文件名為welcome.log可以自行修改。
6) log4j.logger.com.dan.test=DEBUG, WELCOMEFILE
指定com.dan.testt包下的所有類的等級為DEBUG的日志信息輸出到WELCOMEFILE指定的文件,可以把com.dan.test改成自己項目所用的包名。
小結:
日志在我們項目里面起到了很重要的作用,有助于幫助我們分析問題,如果我們能夠靈活的對日志進行配置,會大大提高我們解決問題的效力。
生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈