Log4cpp中DailyRollingFileAppender的使用


  log4...是基於log4j的一系列的c++移植版本,使用了log4j的模式結構,目前主要有以下幾個版本: 
1. log4cxx,    目前是到0.10.0版,Apache下的孵化項目,不能獨立編譯,依賴於APR,編譯比較麻煩,2008年以后就沒再更新 
2. log4cplus, 目前最新版本是1.2.0,最近一次更新2016-01-16,不依賴於第三方庫,下載位置https://sourceforge.net/projects/log4cplus/files/log4cplus-stable/1.2.0/
3. log4cpp,    目前最新版本1.1.2,最近一次更新2016年-08-02,也不依賴與第三方庫,與log4cplus功能類似,但是簡化了一些實現,增加了一些功能,下載位置https://sourceforge.net/projects/log4cpp/files/?source=navbar。因為基本結構大致類似,性能上相比也沒有明顯差別。

一、log4j類比

  在DailyRollingFileAppender中可以指定monthly(每月)、 weekly(每周)、daily(每天)、half-daily(每半天)、hourly(每小時)和minutely(每分鍾)六個頻度,這是通過為 DatePattern選項賦予不同的值來完成的。DatePattern選項的有效值為:

  • yyyy-MM,                    對應monthly(每月)
  • yyyy-ww,                          對應weekly(每周)
  • yyyy-MM-dd,                    對應daily(每天)
  • yyyy-MM-dd-a,                 對應half-daily(每半天)
  • yyyy-MM-dd-HH,              對應hourly(每小時)
  • yyyy-MM-dd-HH-mm,       對應minutely(每分鍾)
  • DatePattern中不用處理的文字要放到單引號(‘)中,如上面的(.)。如果您對此有疑問可以查閱SimpleDateFormat的文檔。DailyRollingFileAppender中使用這個類來處理DatePattern。

  DatePattern格式化之后的文本作為文件名字的后綴。DailyRollingFileAppender不支持格式化之后的文本作為文件名字的前綴。

  DailyRollingFileAppender在每一個日志事件(LoggingEvent)附加(append)之前檢查是否需要附加。也就是說如果在一個滾動區間中沒有任何日志記錄,那么這個區間的日志記錄文件就不會形成。

  在實際編程時,要使Log4j真正在系統中運行事先還要對配置文件進行定義。定義步驟就是對Logger、Appender及Layout的分別使用。Log4j支持兩種配置文件格式,一種是XML格式的文件,一種是Java properties(key=value)【Java特性文件(鍵=值)】。(這里只說明properties文件)

二、log4cpp中的DailyRollingFileAppender

  需求分析:

      1)按天存放log;參考--log4cpp按照日期保存 

      2)按照每天每小時存放log;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM