C++第三方日志庫(kù)log4cplus的安裝與使用配置教程
一、log4cplus介紹
log4cplus是C++編寫(xiě)的開(kāi)源的日志系統(tǒng),前身是java編寫(xiě)的log4j系統(tǒng),受Apache Software License保護(hù),作者是Tad E. Smith。
log4cplus具有線(xiàn)程安全、靈活、以及多粒度控制的特點(diǎn),通過(guò)將日志劃分優(yōu)先級(jí)使其可以面向程序調(diào)試、運(yùn)行、測(cè)試、和維護(hù)等全生命周期。你可以選擇將日志輸出到屏幕、文件、NT event log、甚至是遠(yuǎn)程服務(wù)器;通過(guò)指定策略對(duì)日志進(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 打開(kāi)解決方案
打開(kāi)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):
①解決方案的平臺(tái)與目標(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í)需要手動(dòng)修改新建的項(xiàng)目為多字節(jié)字符集,否則會(huì)報(bào)錯(cuò),總之兩邊統(tǒng)一用一種即可)
編譯完成后,會(huì)在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文件的庫(kù)目錄以及將lib文件填入附加依賴(lài)項(xiàng),如下圖所示。
將dll文件放到程序的根目錄:如果運(yùn)行的是VS放置到和*.vcxproj一個(gè)文件夾下,如果運(yùn)行的是*.exe,則和*.exe放置到一個(gè)文件夾下。
右鍵——>屬性——>鏈接器——>輸入——>附加依賴(lài)項(xiàng)——>加入log4cplus.lib,如下圖所示。
如果不添加上述附加依賴(lài)項(xiàng),則需要在代碼開(kāi)頭中添加如下代碼:
#pragma comment(lib, "log4cplus.lib")
四、測(cè)試Demo
簡(jiǎn)單測(cè)試:
#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++第三方日志庫(kù)log4cplus的安裝與使用超詳解的文章就介紹到這了,更多相關(guān)C++第三方日志庫(kù)log4cplus內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C++基礎(chǔ)學(xué)習(xí)之函數(shù)重載的簡(jiǎn)單介紹
函數(shù)重載是一種特殊情況,C++允許在同一作用域中聲明幾個(gè)類(lèi)似的同名函數(shù),這些同名函數(shù)的形參列表(參數(shù)個(gè)數(shù),類(lèi)型,順序)必須不同,常用來(lái)處理實(shí)現(xiàn)功能類(lèi)似數(shù)據(jù)類(lèi)型不同的問(wèn)題。這篇文章主要給大家介紹了關(guān)于C++基礎(chǔ)學(xué)習(xí)之函數(shù)重載的相關(guān)資料,需要的朋友可以參考下2019-01-01C語(yǔ)言操作符進(jìn)階教程(表達(dá)式求值隱式類(lèi)型轉(zhuǎn)換方法)
這篇文章主要為大家介紹了C語(yǔ)言操作符進(jìn)階教程(表達(dá)式求值隱式類(lèi)型轉(zhuǎn)換方法)2022-02-02教你如何使用C++ 統(tǒng)計(jì)地鐵中站名出現(xiàn)的字的個(gè)數(shù)
通過(guò)本文教大家如何使用C++ 統(tǒng)計(jì)地鐵中站名出現(xiàn)的字的個(gè)數(shù),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2022-01-01VC++?2019?"const?char*"類(lèi)型的實(shí)參與"LPCTSTR"
這篇文章主要給大家介紹了關(guān)于VC++?2019?"const?char*"類(lèi)型的實(shí)參與"LPCTSTR"類(lèi)型的形參不兼容的解決方法,文中通過(guò)圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2023-03-03在Visual Studio Code中使用CSSComb格式化CSS文件的教程
這篇文章主要介紹了在Visual Studio Code中使用CSSComb格式化CSS文件,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-03-03