Log4j輸出終端(Appender)詳解

來源:互聯網
上載者:User

標籤: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  
  1. log4j.appender.D = org.apache.log4j.DailyRollingFileAppender  
  2. log4j.appender.D.File = D:/log/log.log  
  3. log4j.appender.D.Append = true  
  4. log4j.appender.D.Threshold = DEBUG  
  5. log4j.appender.D.MaxFileSize=10MB  
  6. log4j.appender.D.MaxBackupIndex=10  
  7. log4j.appender.D.layout = org.apache.log4j.PatternLayout  
  8. 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)詳解

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.