C 日誌框架log4cpp

2021-10-06 14:29:02 字數 1364 閱讀 6519

c++日誌框架log4cpp

使用說明詳見log4cpp官網。

windows平台編譯log4cpp庫詳見連線:

附件中包括x64 release的庫檔案。

lib庫:

dll庫:

編寫log4cpp.properties配置檔案,如下文:

#-------定義rootcategory的屬性-------

log4cpp.rootcategory=debug, console

#-------定義console屬性-------

#下面這三條語句表示控制台輸出的log輸出的布局按照指定的格式;輸出格式是:[%p] %d (%c): %m%n

#下面的語句表示檔案輸出到指定的log檔案,輸出的布局按照指定的格式,輸出的格式是:[%d - %p] (%t): %m%n

#當日誌檔案到達maxfilesize大小時,將會自動滾動

#maxbackupindex指定可以產生的滾動檔案的最大數

#filename指定資訊輸出到logs/irismatch.log檔案

#patternlayout 表示可以靈活指定布局模式

配置檔案引數詳解:

%m log message 內容, 即 使用者寫 log 的具體資訊 

%n 回車換行

%c category 名字

%d 時間戳

%p 優先順序

%r 距離上一次寫 log 的間隔, 單位毫秒

%r 距離上一次寫 log 的間隔, 單位秒

%t 執行緒名

%u 處理器時間

%x ndc ?

竊以為,以下格式就足夠了,即輸出 "時間 [執行緒名] 優先順序 - log內容 回車換行"

%d [%t] %p - %m%n

5.main程式中可以直接呼叫:

int main(int argc, char* ar**)

catch (const exception& e)

log4cpp::category& log = log4cpp::category::getinstance(string("logfile"));

log.debug("ddddddddddd");

log.info("iiiiiiiiiiiii");

root.warn("wwwwwwwwwwwww");

return 0;

}

6.說明:

在實際使用中,通過定義巨集來是日誌包含程式函式和行資料,如下:

#define log(...)

Cpp呼叫Log4cpp生成日誌

初始化 log4cpp patternlayout playout new log4cpp patternlayout playout setconversionpattern d p c x m n log4cpp category root log4cpp category getroot ge...

log4cpp 日誌庫的使用

平時除錯c c程式和記錄一些程式列印資訊時,使用的最多的就是printf,但是終端顯示有限,而且不利於統計,所以想把開源的日誌庫加入到工程中 測試對比了一些日誌庫,發現log4cpp比較適合我們的工程。1 可以自由控制日誌在終端和日誌中的輸出,同時或只記錄在檔案 2 有配置檔案,只需修改配置檔案即可...

log4cpp應用速成手冊

log4cpp應用手冊 2 開啟 log4cpp 0.3.4b msvc6 msvc6.dsw 編譯log4cpp工程release版。3 將編譯後的log4cpp.lib複製到vc的lib目錄中。4 將標頭檔案的目錄log4cpp 0.3.4b include log4cpp 複製到vc的incl...