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...