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時(shí)需要手動修改新建的項(xiàng)目為多字節(jié)字符集,否則會報(bào)錯(cuò),總之兩邊統(tǒng)一用一種即可)
編譯完成后,會在log4cplus-2.x\msvc14\x64\bin.Release文件夾下生成我們需要的log4cplus.lib和log4cplus.dll兩個(gè)文件(我編譯的是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一個(gè)文件夾下,如果運(yùn)行的是*.exe,則和*.exe放置到一個(gè)文件夾下。
右鍵——>屬性——>鏈接器——>輸入——>附加依賴項(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)文章
Linux中使用C語言的fork()函數(shù)創(chuàng)建子進(jìn)程的實(shí)例教程
fork是一個(gè)在Linux系統(tǒng)環(huán)境下專有的函數(shù),現(xiàn)有的進(jìn)程調(diào)用fork后將會創(chuàng)建一個(gè)新的進(jìn)程,這里我們就來看一下Linux中使用C語言的fork()函數(shù)創(chuàng)建子進(jìn)程的實(shí)例教程2016-06-06strcpy函數(shù)實(shí)現(xiàn)簡示例命分享
這篇文章主要介紹了strcpy函數(shù)實(shí)現(xiàn)簡示例命,需要的朋友可以參考下2014-03-03C++算法設(shè)計(jì)之馬踏棋盤的實(shí)現(xiàn)
這篇文章主要為大家詳細(xì)介紹了C++算法設(shè)計(jì)之馬踏棋盤的實(shí)現(xiàn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02