EasyLogging++之简要介绍

2018-02-03 10:18:43来源:网络收集作者:咖啡不加糖人点击

分享

   Easyloggin++项目在Github上的开源地址:https://github.com/EasyLogging++/easyloggingpp


功能特征


  ·高度可配置


  ·速度非常快


  ·线程和类型安全


  ·跨平台


  ·自定义日志模块


  ·条件日志和偶然日志


  ·性能跟踪


  ·详细记录日志


  ·中断处理


  ·辅助CHECK宏


  ·STL日志


  ·第三方库日志(比如Qt,boost,wxWidgets)


  ·可扩展性


  ·支持Debug功能


  ·系统日志记录


  ·perror风格日志


  ·C++流操作符风格日志


  ·C语言printf风格日志


   ·......

版本说明


   写这篇文章时,最新的 Easylogging++ 版本是V9.80,如果编译器不支持C++11的话,是无法编译的。对于Visual Studio系列来说,必须是VS2012或以上版本才行。如果还停留在VS2010、VS2008,VS2005的小伙伴,可以考虑使用EasyLogging++ V8.91版本。需要注意的是,不同的版本在使用方法和功能支持上都会有所差异。特别指出,本系列中所有的学习记录,只适用于 Easylogging++
版本V9.80。另外,在本系列文章中出现的所有演示代码都是在 64Bit Windows 7 系统下使用 Visual Studio 2013 编译测试的。

快速使用


    下面是GitHub上给出一个示例代码:


#include "easylogging++.h"
INITIALIZE_EASYLOGGINGPP
int main(int argv, char* argc[]) {
LOG(INFO) << "My first info log using default logger";
return 0;
}    示例代码只有短短几行,每行代码的作用也一目了然:

   ·包含easylogging++.h头文件


   ·使用宏INITIALIZE_EASYLOGGINGPP初始化


   ·使用LOG(INFO)开始日志记录


   就是这么简单,只需三步,即可完成你的日志记录。这里需要特别说明的是,初始化宏INITIALIZE_EASYLOGGINGPP必须使用而且只能使用一次,否则会产生编译错误。最好的放置这个初始化宏的地方是位于程序入口函数所在文件的顶部,紧跟在包含头文件的代码后面。

自定义日志


    我们可以通过配置文件、配置参数、配置宏定义等方式来定义自己想要的日志格式。下面是一个利用配置文件来自定义日志的一个例子:


#include "easylogging++.h"
INITIALIZE_EASYLOGGINGPP
int main(int argc, char** argv)
{
el::Configurations conf("my_log.conf");
el::Loggers::reconfigureAllLoggers(conf);
LOG(TRACE) << "***** trace log*****";
LOG(DEBUG) << "***** debug log*****";
LOG(ERROR) << "***** error log*****";
LOG(WARNING) << "***** warning log*****";
LOG(INFO)<< "***** info log*****";
system("pause");
return 0;
}  其中配置文件my_log.conf的内容如下:* GLOBAL:
ENABLED = true
TO_FILE = true
TO_STANDARD_OUTPUT= true
FORMAT= "[%level | %datetime] | %msg"
FILENAME= "log//log_%datetime{%Y%M%d}.log"
MILLISECONDS_WIDTH= 3
PERFORMANCE_TRACKING= false
MAX_LOG_FILE_SIZE= 1048576
LOG_FLUSH_THRESHOLD = 0
* TRACE:
FILENAME= "log//trace_log_%datetime{%Y%M%d}.log"
* DEBUG:
FILENAME= "log//debug_log_%datetime{%Y%M%d}.log"
* FATAL:
ENABLED = false
* ERROR:
FILENAME= "log//error_log_%datetime{%Y%M%d}.log"
* WARNING:
FILENAME= "log//warning_log_%datetime{%Y%M%d}.log"
* INFO:
FILENAME= "log//info_log_%datetime{%Y%M%d}.log"
* VERBOSE:
ENABLED = false   通过这样一个配置文件生产出来的日志会非常整齐,同时日志信息会保存到不同的文件中,而且还会输出到标准输出窗口。如下:

EasyLogging++之简要介绍
EasyLogging++之简要介绍


最新文章

123

最新摄影

闪念基因

微信扫一扫

第七城市微信公众平台