简单好用的Log类,easylogging++

    xiaoxiao2021-03-25  170

     名称:easyloggingpp

    GitHub 地址:easylogging (点击链接)

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

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

    官方社区给出的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 ELPP_THREAD_SAFE          //多线程支持

    添加在 

    #include "easylogging++.h" 之前 同时 int main(int argc, const char * argv[]) {

     START_EASYLOGGINGPP(argc, argv);

    }

    测试代码:

    Main.cpp

    #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 = "
    转载请注明原文地址: https://ju.6miu.com/read-11760.html

    最新回复(0)