日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Log4cpp 使用手册

發布時間:2025/3/8 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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 使用手册的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。