C++第三方日志庫log4cplus的安裝與使用配置教程
一、log4cplus介紹
log4cplus是C++編寫的開源的日志系統(tǒng),前身是java編寫的log4j系統(tǒng),受Apache Software License保護(hù),作者是Tad E. Smith。
log4cplus具有線程安全、靈活、以及多粒度控制的特點(diǎn),通過將日志劃分優(yōu)先級使其可以面向程序調(diào)試、運(yùn)行、測試、和維護(hù)等全生命周期。你可以選擇將日志輸出到屏幕、文件、NT event log、甚至是遠(yuǎn)程服務(wù)器;通過指定策略對日志進(jìn)行定期備份等等。
二、log4cplus下載
下載鏈接:https://sourceforge.net/projects/log4cplus/files/log4cplus-stable/2.0.7/
最新穩(wěn)定版2.0.7(2022.2.21)
官方文檔:https://sourceforge.net/p/log4cplus/wiki/Home/
三、log4cplus配置
3.1 打開解決方案
打開Visual Studio,進(jìn)入 log4cplus-2.x\msvc14目錄下,運(yùn)行l(wèi)og4cplus.sln解決方案。
3.2 進(jìn)行相應(yīng)設(shè)置
編譯log4cplus需要注意三點(diǎn):
①解決方案的平臺與目標(biāo)程序一致,這里選擇的是x64;
②版本也要與目標(biāo)程序一致,這里選擇的是release版本;
③屬性里面的字符集和目標(biāo)程序一致;
選擇log4cplus項(xiàng)目,右鍵——>屬性——>配置屬性——>常規(guī)——>字符集,選擇Unicode字符集,如下圖所示。(log4cplus默認(rèn)使用多字節(jié)字符集,而VS新建項(xiàng)目默認(rèn)使用Unicode字符集,如果不修改此處,則后面新建項(xiàng)目使用生成的dll時需要手動修改新建的項(xiàng)目為多字節(jié)字符集,否則會報(bào)錯,總之兩邊統(tǒng)一用一種即可)
編譯完成后,會在log4cplus-2.x\msvc14\x64\bin.Release文件夾下生成我們需要的log4cplus.lib和log4cplus.dll兩個文件(我編譯的是release版),如下圖所示。
3.3 目標(biāo)程序的配置
將log4cplus-2.0.x目錄下的include文件夾拷貝到我們的目標(biāo)程序文件夾中,這里面是我們需要的頭文件;在目標(biāo)程序的屬性里面設(shè)置頭文件的包含目錄。
設(shè)置lib文件的庫目錄以及將lib文件填入附加依賴項(xiàng),如下圖所示。
將dll文件放到程序的根目錄:如果運(yùn)行的是VS放置到和*.vcxproj一個文件夾下,如果運(yùn)行的是*.exe,則和*.exe放置到一個文件夾下。
右鍵——>屬性——>鏈接器——>輸入——>附加依賴項(xiàng)——>加入log4cplus.lib,如下圖所示。
如果不添加上述附加依賴項(xiàng),則需要在代碼開頭中添加如下代碼:
#pragma comment(lib, "log4cplus.lib")
四、測試Demo
簡單測試:
#include <log4cplus/log4cplus.h> //#pragma comment(lib, "log4cplus.lib") int main() { //初始化 log4cplus::Initializer initializer; log4cplus::BasicConfigurator config; config.configure(); log4cplus::Logger logger = log4cplus::Logger::getInstance( LOG4CPLUS_TEXT("main")); LOG4CPLUS_WARN(logger, LOG4CPLUS_TEXT("Hello, World!")); return 0; }
參考:
https://blog.csdn.net/u012372584/article/details/104470098
https://blog.csdn.net/xinyunyxq/article/details/19011315
https://blog.51cto.com/u_15138784/2736212
到此這篇關(guān)于C++第三方日志庫log4cplus的安裝與使用超詳解的文章就介紹到這了,更多相關(guān)C++第三方日志庫log4cplus內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C++編程之CString、string與、char數(shù)組的轉(zhuǎn)換
這篇文章主要介紹了C++編程之CString、string與、char數(shù)組的轉(zhuǎn)換的相關(guān)資料,希望通過本文能幫助到大家,讓大家學(xué)習(xí)理解這部分內(nèi)容,需要的朋友可以參考下2017-10-10C++簡單實(shí)現(xiàn)RPC網(wǎng)絡(luò)通訊的示例詳解
RPC是遠(yuǎn)程調(diào)用系統(tǒng)簡稱,它允許程序調(diào)用運(yùn)行在另一臺計(jì)算機(jī)上的過程,就像調(diào)用本地的過程一樣。本文將用C++簡單實(shí)現(xiàn)RPC網(wǎng)絡(luò)通訊,感興趣的可以了解一下2023-04-04COLORREF,COLOR,RGB,CString的轉(zhuǎn)化總結(jié)分析
實(shí)際的軟件開發(fā)過程中,常需要用到非.net平臺的代碼。這時候就可能碰到ColorRef(也就是以int類型代表的顏色值或是以DWORD值表示的顏色)。這跟.net平臺下的顏色的相互轉(zhuǎn)換MS并沒有直接實(shí)現(xiàn)2013-09-09