C++ Easylogging++日志庫(kù)配置使用超詳細(xì)講解
Easylogging++
Easylogging++是一個(gè)只有單個(gè)頭文件的開源跨平臺(tái)日志庫(kù),擁有簡(jiǎn)單易集成,速度極快,線程安全,高效并可配置可擴(kuò)展等等優(yōu)點(diǎn),現(xiàn)在也是我的主力日志庫(kù)。
下載Easylogging++
Github地址:https://github.com/amrayn/easyloggingpp
從Githu下載Easylogging++,下載下來(lái)只有兩個(gè)文件,easylogging++.h
和easylogging++.cc
。
在VS中配置Easylogging++
右鍵項(xiàng)目-屬性-C+±常規(guī)-附加包含項(xiàng)目,添加easylogging++.h
所在目錄
將easylogging++.cc
添加到項(xiàng)目中。
使用Easylogging++
(1) 包含頭文件
// easylogging++ #include "easylogging++.h" #define ELPP_THREAD_SAFE
(2) 初始化Easylogging++
INITIALIZE_EASYLOGGINGPP
(3) 設(shè)置日志輸出配置
static void InitEasyloggingPP() { el::Configurations conf; // 啟用日志 conf.setGlobally(el::ConfigurationType::Enabled, "true"); //設(shè)置日志文件目錄以及文件名 conf.setGlobally(el::ConfigurationType::Filename, "log\\log_%datetime{%Y%M%d %H%m%s}.log"); //設(shè)置日志文件最大文件大小 conf.setGlobally(el::ConfigurationType::MaxLogFileSize, "20971520"); //是否寫入文件 conf.setGlobally(el::ConfigurationType::ToFile, "true"); //是否輸出控制臺(tái) conf.setGlobally(el::ConfigurationType::ToStandardOutput, "true"); //設(shè)置日志輸出格式 conf.setGlobally(el::ConfigurationType::Format, "[%datetime] [%loc] [%level] : %msg"); //設(shè)置日志文件寫入周期,如下每100條刷新到輸出流中 conf.setGlobally(el::ConfigurationType::LogFlushThreshold, "100"); //設(shè)置配置文件 el::Loggers::reconfigureAllLoggers(conf); }
(4) 示例程序
// easylogging++ #include "easylogging++.h" #define ELPP_THREAD_SAFE INITIALIZE_EASYLOGGINGPP static void InitEasyloggingPP() { el::Configurations conf; // 啟用日志 conf.setGlobally(el::ConfigurationType::Enabled, "true"); //設(shè)置日志文件目錄以及文件名 conf.setGlobally(el::ConfigurationType::Filename, "log\\log_%datetime{%Y%M%d %H%m%s}.log"); //設(shè)置日志文件最大文件大小 conf.setGlobally(el::ConfigurationType::MaxLogFileSize, "20971520"); //是否寫入文件 conf.setGlobally(el::ConfigurationType::ToFile, "true"); //是否輸出控制臺(tái) conf.setGlobally(el::ConfigurationType::ToStandardOutput, "true"); //設(shè)置日志輸出格式 conf.setGlobally(el::ConfigurationType::Format, "[%datetime] [%loc] [%level] : %msg"); //設(shè)置日志文件寫入周期,如下每100條刷新到輸出流中 conf.setGlobally(el::ConfigurationType::LogFlushThreshold, "100"); //設(shè)置配置文件 el::Loggers::reconfigureAllLoggers(conf); } int main() { InitEasyloggingPP(); LOG(INFO) << "Hello World"; }
到此這篇關(guān)于C++ Easylogging++配置使用超詳細(xì)講解的文章就介紹到這了,更多相關(guān)C++ Easylogging++內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
OpenCV實(shí)現(xiàn)二值圖像的邊緣光滑處理
這篇文章主要為大家詳細(xì)介紹了OpenCV實(shí)現(xiàn)二值圖像的邊緣光滑處理,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-07-07C/C++讀取大文件數(shù)據(jù)方式詳細(xì)講解
這篇文章主要介紹了C語(yǔ)言/C++讀取大文件數(shù)據(jù)的完整方式過(guò)程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-09-09詳解C++成員函數(shù)的override和final說(shuō)明符的用法
這篇文章主要介紹了詳解C++成員函數(shù)的override和final說(shuō)明符的用法,分別用于重寫和禁止繼承類,要的朋友可以參考下2016-01-01C語(yǔ)言進(jìn)階二叉樹的基礎(chǔ)與銷毀及層序遍歷詳解
朋友們好,這篇播客我們繼續(xù)C++的初階學(xué)習(xí),現(xiàn)在對(duì)我們對(duì)C++的二叉樹基礎(chǔ)oj與二叉樹銷毀和層序遍歷進(jìn)行練習(xí),讓我們相互學(xué)習(xí),共同進(jìn)步2022-06-06如何使用visual studio2019創(chuàng)建簡(jiǎn)單的MFC窗口(使用C++)
這篇文章主要介紹了如何使用visual studio2019創(chuàng)建簡(jiǎn)單的MFC窗口(使用C++),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-03-03Qt實(shí)現(xiàn)編輯數(shù)據(jù)庫(kù)數(shù)據(jù)的方法詳解
這篇文章主要為大家詳細(xì)介紹了Qt是如何實(shí)現(xiàn)編輯數(shù)據(jù)庫(kù)數(shù)據(jù)的,文中的示例代碼簡(jiǎn)潔易懂,對(duì)我們深入了解QT有一定的幫助,感興趣的小伙伴可以了解一下2023-02-02C++項(xiàng)目求Fibonacci數(shù)列的參考解答
今天小編就為大家分享一篇關(guān)于C++項(xiàng)目求Fibonacci數(shù)列的參考解答,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-02-02C/C++中的sizeof運(yùn)算符和size_t類型的詳解
今天小編就為大家分享一篇關(guān)于C/C++中的sizeof運(yùn)算符和size_t類型的詳解,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2018-10-10