C++ Easylogging++日志庫(kù)配置使用超詳細(xì)講解
Easylogging++
Easylogging++是一個(gè)只有單個(gè)頭文件的開(kāi)源跨平臺(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)文章
模擬鼠標(biāo)事件的實(shí)現(xiàn)思路及代碼
這篇文章主要介紹了模擬鼠標(biāo)事件的實(shí)現(xiàn)思路及代碼,有需要的朋友可以參考一下2013-12-12
Qt 信號(hào)自定義槽函數(shù)的實(shí)現(xiàn)
Qt中實(shí)現(xiàn)自定義信號(hào)與槽函數(shù),信號(hào)用于發(fā)送并觸發(fā)槽函數(shù),槽函數(shù)則是具體的功能實(shí)現(xiàn),本文就詳細(xì)的介紹一下如何使用,感興趣的可以了解一下2021-11-11
C++ 打開(kāi)選擇文件夾對(duì)話框選擇目錄的操作
這篇文章主要介紹了C++ 打開(kāi)選擇文件夾對(duì)話框選擇目錄的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-01-01
C++的sstream標(biāo)準(zhǔn)庫(kù)詳細(xì)介紹
以下是對(duì)C++中的的sstream標(biāo)準(zhǔn)庫(kù)進(jìn)行了詳細(xì)的介紹,需要的朋友可以過(guò)來(lái)參考下2013-09-09
C++11的函數(shù)包裝器std::function使用示例
C++11引入的std::function是最常用的函數(shù)包裝器,它可以存儲(chǔ)任何可調(diào)用對(duì)象并提供統(tǒng)一的調(diào)用接口,以下是關(guān)于函數(shù)包裝器的詳細(xì)講解,包括它的基本用法、特點(diǎn)、限制、以及與其他相關(guān)機(jī)制的對(duì)比2024-12-12
C語(yǔ)言數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)銀行模擬
這篇文章主要介紹了C語(yǔ)言數(shù)據(jù)結(jié)構(gòu)實(shí)現(xiàn)銀行模擬的相關(guān)資料,通過(guò)此文希望大家能理解離散化的方法,希望能幫助到大家,需要的朋友可以參考下2017-08-08

