log4j 配置詳解 - [log4j]
版權聲明:轉載時請以超鏈接形式標明文章原始出處和作者信息及本聲明
http://huahuazhu.blogbus.com/logs/20920245.html
log4j.rootLogger = [level], appenderName, appenderName, ... (level是錯誤級別,appenderName是輸出目的地,本例設為mylog,可以定義多個)
level優先級分別為FATAL、ERROR、WARN、INFO、DEBUG 5個級別.通過定義的級別,你可以控制程序中的日誌輸出.比如在這裡定義了ERROR級別,程序中只有FARAL、ERROR 級別的LOG會被輸出.
log4j.appender.mylog= 輸出目的地 (這裡的appenderName是在前面定義的,可任意起名)
Log4j提供的輸出目的地有以下幾種:
org.apache.log4j.ConsoleAppender(控制台)
org.apache.log4j.FileAppender(文件)
org.apache.log4j.DailyRollingFileAppender(每天產生一個日誌文件)
org.apache.log4j.RollingFileAppender(文件到達指定大小時產生一個新文件)
org.apache.log4j.WriterAppender(將日誌信息以流格式發送到任何地方)
log4j.appender.filelog.File=your file dir
log4j.appender.filelog.MaxFileSize=your filesize
log4j.appender.mylog.MaxBackupIndex=num設置保存備份文件數量
log4j.appender.appenderName.layout = 佈局類型(設置佈局類型)
Log4j提供的layout有以下4種:
org.apache.log4j.HTMLLayout(以HTML表格形式佈局)
org.apache.log4j.SimpleLayout(包含日誌信息的級別和信息字符串)
org.apache.log4j.TTCCLayout(包含日誌產生的時間、線程、類別等等信息)
org.apache.log4j.PatternLayout(可以靈活地指定佈局模式)
如果使用PatternLayout佈局就要指定的打印信息的具體格式ConversionPattern,打印參數如下:
%m 輸出代碼中指定的消息
%p 輸出優先級,即DEBUG,INFO,WARN,ERROR,FATAL
%r 輸出自應用啟動到輸出該log信息耗費的毫秒數
%c 輸出所屬的類目,通常就是所在類的全名
%t 輸出產生該日誌事件的線程名
%n 輸出一個回車換行符,Windows為"rn",Unix為"n"
%d 輸出日誌時間,比如:%d{yyyy MMM dd HH:mm:ss,SSS},輸出:2007年5月17日 19:30:00,000
%l 輸出日誌事件的發生位置,包括類目名、發生的線程,以及在代碼中的行數
[QC]是log信息的開頭,可以為任意字符,一般為項目簡稱
程序中並沒有直接用到log4j的類,而是使用了commons-logging提供的日誌類。commons-logging是為"所有的Java日誌實現"提供一個統一的接口,它的功能據說「平常弱」。
Log (基本記錄器)和LogFactory(負責創建Log實例)。當commons-logging.jar被加入到CLASSPATH之後,它會合理地猜 測你喜歡的日誌工具,然後進行自我設置,用戶根本不需要做任何設置。默認的LogFactory是按照下列的步驟去發現並決定那個日誌工具將被使用的(按 照順序,尋找過程會在找到第一個工具時中止):
1.尋找當前factory中名叫org.apache.commons.logging.Log配置屬性的值
2.尋找系統中屬性中名叫org.apache.commons.logging.Log的值
3.如果應用程序的classpath中有log4j,則使用相關的包裝(wrapper)類(Log4JLogger)
4.如果應用程序運行在jdk1.4的系統中,使用相關的包裝類(Jdk14Logger)
5.使用簡易日誌包裝類(SimpleLog)
沒有留言:
張貼留言