標籤:art plain logger 自動 時間 iter res 設定 sdn
對於Appender介面,Log4j提供了以下幾個實現:
- org.apache.log4j.ConsoleAppender(控制台)
- org.apache.log4j.FileAppender(檔案)
- org.apache.log4j.DailyRollingFileAppender(每天都產生一個記錄檔)
- org.apache.log4j.RollingFileAppender(檔案大小達到指定尺寸時產生一個新的記錄檔,檔案名稱上會自動添加數字序號。)
- org.apache.log4j.WriterAppender(將日誌資訊以流的格式發送到任意指定的地方)
預設情況下,子logger將繼承父logger的所有appenders。
先來看看這幾個實作類別的關係:
前兩個都比較好理解,下面重點說一下後面3種
首先是RollingFileAppende
這是個特殊的FileAppender,當記錄檔到底指定尺寸時,那麼原來的記錄檔將會被加上序號,例如xxx.1
值得注意的是,若是再超過指定尺寸(MaxFileSize)需要增加一個記錄檔時,那麼原來xxx.1的檔案會加上1變成xxx.2
也就是說,數字越大的記錄檔記錄的日誌時間越早!
另外,還可以設定最大的序號(MaxBackupIndex),若超過這個序號,那麼最早的記錄就會被覆蓋掉。
下面給出一個常見的設定檔
[plain] view plain copy
- log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
- log4j.appender.D.File = D:/log/log.log
- log4j.appender.D.Append = true
- log4j.appender.D.Threshold = DEBUG
- log4j.appender.D.MaxFileSize=10MB
- log4j.appender.D.MaxBackupIndex=10
- log4j.appender.D.layout = org.apache.log4j.PatternLayout
- log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
DailyRollingFileAppenderr
這個其實沒什麼特別,過了當天之後記錄檔就會被以xxx+昨天的日期來命名,也就是每天一個記錄檔
WriterAppende
這個其實是ConsoleAppender和FileAppender的父類,一般不直接使用,而是會使用其子類,如ConsoleAppender
轉載地址:http://blog.csdn.NET/u012345283/article/details/39264245
Log4j輸出終端(Appender)詳解