Log4cpp 使用手册
參考資料: log4cpp 配置 與 使用http://www.cnblogs.com/welkinwalker/archive/2011/06/23/2088197.html
便利的開發工具-log4cpp快速使用指南
http://www.ibm.com/developerworks/cn/linux/l-log4cpp/
Log4cpp配置文件格式說明
http://sogo6.iteye.com/blog/1154315
使用步驟說明:
1、下載log4cppDLL ,見附件。這里面已經有別人編譯完成的.lib與.dll文件。我們拿來用即可。
包含文件如下圖所示:
2、打開我們的程序,選中項目,屬性,如下圖所示
3、選擇“c/c++“選項,點開下列菜單,點擊”常規“:在“附加包含目錄”這一欄中,選擇編輯,找到剛剛附件里面的文件夾下面的include菜單。
如下面所示:(我的log4cpp文件放在桌面上,如果想移植時,不改變此輸入項,可將log4cpp放在D盤根目錄下面即可。)完成之后,點擊確定即可。
4、在左邊的菜單中,點開“鏈接器“選項。并點開“常規“選項欄。在附加庫目錄中,選擇log4cpp文件下面的動態庫文件.dll。如下圖所示:(弄完后,點擊確定)
5、在“鏈接器“菜單下,選擇“輸入“,在”附加依賴項“中輸入log4cppDLLD.lib,(注:通過.lib當中的文件,我們就可以找到DLL中函數的地址,從而引用DLL當中的函數),如下圖所示:
6、以上步驟弄完以后,點擊確定。然后在選中項目,右擊,點擊“在windows資源管理器中打開文件“,在此目錄下,拷貝兩個文件進去。
一個是 log4cppDLLD.dll,動態鏈接庫文件。
一個是 log4cpp.conf, log4cpp的配置文件
此文件見附件。
7、一切準備工作完成之后,下面進入正式編程階段。
1)在你需要添加日志的文件中,引入下面頭文件
#include "log4cpp/Category.hh " ? #include "log4cpp/FileAppender.hh" ? #include "log4cpp/SimpleLayout.hh" ? #include "log4cpp/PropertyConfigurator.hh" ? #include <log4cpp/Portability.hh>2)在主線程或者副線程中,引入下面日志文件的配置、實例化
// 1 讀取解析配置文件 ? // 讀取出錯, 完全可以忽略,可以定義一個缺省策略或者使用系統缺省策略 ? // BasicLayout輸出所有優先級日志到ConsoleAppender ? try { ? log4cpp::PropertyConfigurator::configure("./log4cpp.conf"); ? } catch(log4cpp::ConfigureFailure& f) { ? std::cout << "Configure Problem " << f.what() << std::endl; ? return -1; ? } ? // 2 實例化category對象 ? // 這些對象即使配置文件沒有定義也可以使用,不過其屬性繼承其父category ? // 通常使用引用可能不太方便,可以使用指針,以后做指針使用 ? // log4cpp::Category* root = &log4cpp::Category::getRoot(); ? log4cpp::Category& root = log4cpp::Category::getRoot(); ? log4cpp::Category& sub1 = ? log4cpp::Category::getInstance(std::string("sub1")); ? // 3 正常使用這些category對象進行日志處理。 ? // sub1 has appender A1 and rootappender. ? int i = 1; ? sub1.info("info: %d ok !",i); //這個和我們的配置文件相關 ?3)運行程序,此時會出現以下界面:
選中項目,右擊,點擊“在windows資源管理器中打開文件“,此時會發現,該目錄下,出現了A1.log文件,打開文件出現下面的文字:
The message 'info: 1 ok !' at time 2014-09-02 19:56:55,686[2676]INFO
為什么會出現此信息???
4)打開log4cpp.conf文件,一切秘密皆在此。
我引用的是A1 category,而A1屬性如下:
#定義A1的屬性
log4j.appender.A1=org.apache.log4j.FileAppender
log4j.appender.A1.fileName=A1.log
appender.A1.layout=org.apache.log4j.PatternLayout
appender.A1.layout.ConversionPattern=The message '%m' at time %d[%t]%p%n
第一行大概意思:輸出文件Appender
第二行大概意思:輸出文件名字定義為A1.log
第三行大概意思:文件的布局layout方式是PatternLayout模式。模式不同,輸出的內容亦有所不同。
第四行大概意思:輸出內容。
下面對The message '%m' at time %d[%t]%p%n 這句話做詳細說明。
此為輸出文件的格式說明符。
其中 %m表示 用戶寫log的具體信息,也就是我們所要存的內容。
%d 表示 時間戳,精確到ms
%t 表示 線程名
%p 表示 優先級
%n 表示 回車換行符
That is all,thanks。
轉載于:https://www.cnblogs.com/zhuxuekui/p/3952196.html
總結
以上是生活随笔為你收集整理的Log4cpp 使用手册的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 斐波拉切数列
- 下一篇: Windows 8.1 升级到专业版