首页 » C语言 » EasyLogging++之简要介绍

EasyLogging++之简要介绍

原文 http://blog.csdn.net/lengyuezuixue/article/details/79229674

2018-02-02 02:00:55阅读(315)

   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++之<a href=简要介绍" src="http://img.blog.csdn.net/20180201161717539?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGVuZ3l1ZXp1aXh1ZQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
EasyLogging++之简要介绍

最新发布

CentOS专题

关于本站

5ibc.net旗下博客站精品博文小部分原创、大部分从互联网收集整理。尊重作者版权、传播精品博文,让更多编程爱好者知晓!

小提示

按 Ctrl+D 键,
把本文加入收藏夹