log4cpp在專案中的封裝使用(VC專案)

2021-06-06 15:46:39 字數 840 閱讀 6329

#include "stdafx.h"

#ifdef log4cpp_show

#pragma comment(lib, "log4cpp.lib")

#include "log.h"

#include "log4cpp\category.hh"

#include "log4cpp\layout.hh"

#include "log4cpp\basiclayout.hh"

clog* clog::m_pinstance = null;

clog::clog(void)

clog::~clog(void)

clog* clog::getinstance()

return m_pinstance;

}void clog::info( const std::string& strinfo )

void clog::info( const cstring& csinfo )

#endif

本人愚拙,**之中若有不妥,望見諒!

管理log的物件採用了單例模式。在對管理log類的定義,採用了利用預處理巨集的方式,開關是否對其編譯,並且考慮到需要和svn上的**做同步,而有時候只是自己需要對log進行輸出進行觀察,所以導入庫的方式使用命令 #pragma comment(lib, "log4cpp.lib"),使其包括在預處理命令之中,這樣即使svn上沒有對應的log4cpp庫檔案,只要預處理器不包含對應的定義,就不會出現編譯錯誤。

log採用全域性單例,所以編寫了乙個私有內部類對這個全域性單例在程式退出時對其進行刪除操作 -- static clogobjcleaner cl;

log4cpp 日誌庫的使用

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

Log4cpp 為中小型C 專案加上log支援

對於乙個上點規模的c 專案而言,log的作用是毋庸置疑的,出問題的時候,看了log,常見的問題處理起來自是方便不過,即使遇到麻煩的問題,也可以從 總發現不少蛛絲馬跡。因此乙個嚴肅的專案應該從一開始就好好考慮如何打log,便於分析 維護。現實的情況卻是很多專案都是從最初的數千行 逐步龐大起來 開始的時...

C 跨平台基於log4cpp二次單例封裝

專案因為切換日誌庫,選型log4cpp,為了使用方便,進行了二次封裝 log4cpp.h ifndef log 4 cpp define log 4 cpp include include strrchr 函式所需標頭檔案 include include else include include i...