首页 » C语言 » 简单好用的Log类, easylogging++

简单好用的Log类, easylogging++

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

2018-02-02 02:00:51阅读(604)

   名称:easyLoggingpp

   GitHub 地址:easylogging(点击链接)

   特点:简单、支持多级log输出,支持多种输出形式:文件、控制台、多线程支持

   之前版本是在项目工程中增加一个.h头文件,现在版本为需要头文件easylogging++.h和实现文件 easyloggin++.cc


官方社区给出的demo代码如下:

#include "easylogging++.h"
INITIALIZE_EASYLOGGINGPP
int main(int argc, char* argv[]) {
   LOG(INFO) << "My first info log using default logger";
   return 0;
}
   就是如此简单"粗暴",如果调试不通过,请先设置项目字符集为多字节,默认使用多字节字符集(Use Multi_Byte Character Set)。

   如果有朋友说,为了兼容性好,方便移植,还是使用Unicode字符集吧,那么easylogging++还能愉快的玩耍不?当然是可以的。

   为了支持多线程和Unicode,需要添加如下两个宏定义,

   #define ELPP_UNICODE          //使用Unicode字符集

   #define ELPPP_THREAD_SAFE    //多线程支持

#define ELPP_UNICODE 
#define ELPP_THREAD_SAFE 
#include "easylogging++.h"
int main(int argc, const char *argv[])
{
	START_EASYLOGGINGPP(argc, argv);
	
	//...do your task
}


测试代码

#include "easylogging++.h"  
#include <iostream>  
using namespace std;  
INITIALIZE_EASYLOGGINGPP  
  
int main()  
{  
    //****初始化log配置文件  
    el::Configurations conf("myconfig.conf");  
    el::Loggers::reconfigureLogger("default", conf);  
    el::Loggers::reconfigureAllLoggers(conf);  
  
    LOG(INFO) << "my easyloging is launching";  
  
    long m_ISum =0;  
  
    for (int i = 0; i < 500000000; i++)  
    {  
        m_ISum = m_ISum + i;  
    }  
    //控制台输出  
    cout << " Sum is :" << m_ISum << endl;  
  
    for (int i = 0; i < 20; i++)  
    {  
        LOG(INFO) << " Index is :" << i;  
    }  
  
    //log文件输出  
    LOG(INFO) << " Sum is :" << m_ISum;  
  
    LOG(INFO) << "my easyloging is success";  
  
    return 0;  
}  

自定义配置文件myconfig.conf,可以配置输出方式

* GLOBAL:  
   FORMAT               =  "%datetime %level [%logger] %msg"  
   FILENAME             =  "logs/Log-%datetime{%Y-%M-%d-%H-%m-%s}.log"  
   ENABLED              =  true  
   TO_FILE              =  true  
   TO_STANDARD_OUTPUT   =  true  
   SUBSECOND_PRECISION  =  6  
   PERFORMANCE_TRACKING =  true  
   MAX_LOG_FILE_SIZE    =  2097152 ## 2MB - Comment starts with two hashes (##)  
   LOG_FLUSH_THRESHOLD  =  100 ## Flush after every 100 logs  
* DEBUG:  
   FORMAT               = "%datetime{%d/%M} %func %msg"  

注意:把myconfig.conf文件保存放到工程输出目录下

      1.源码调试时放在和源文件同级目录;

      2.输出是放在exe同目录下

简单好用的Log类, easylogging++

简单好用的Log类, easylogging++

最新发布

CentOS专题

关于本站

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

小提示

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