c++_日志库easylogging++

文章介绍了如何在C/C++项目中集成轻量级日志库easylogging++,包括下载库文件,添加到工程,使用INITIALIZE_EASYLOGGINGPP宏初始化,以及创建配置文件定制日志格式。通过示例展示了如何记录和输出不同级别的日志信息,并提到通过预处理器定义避免默认日志文件的生成。
摘要由CSDN通过智能技术生成

在算法和软件的对接过程中,需要添加日志,记录算法的运行信息,在遇到崩溃的错误时候,方便定位问题。easylogging++是一款非常轻量级的日志库,使用起来,只需要添加一个头文件,无需任何第三方库,支持文件配置,以及自定义日志格式。

下载链接:https://github.com/abumq/easyloggingpp

 代码clone下来之后,只需要将src中的easylogging++.h和easylogging++.cc添加到所需要的工程中,使用INITIALIZE_EASYLOGGINGPP的宏进行初始化,

注意初始化宏INITIALIZE_EASYLOGGINGPP必须使用且只能使用一次,否则就会产生编译错误,该初始化宏最好的位置,位于程序入口函数所在文件的顶部,紧跟在包含头文件的代码后面。

#include "easylogging++.h"

INITIALIZE_EASYLOGGINGPP

int main(int argc, char* argv[]) {
	LOG(INFO) << "My first info log using default logger";

	system("pause");
	return 0;
}

即可在程序运行的目录下,生成名为myeasylog.log的文件,

 同时控制台,也会输出该打印信息。

设置自定义的日志格式

 新建名为logging.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
	
* VERBOSE:
    ENABLED                 =   false

在代码中读入该配置文件:

#include "easylogging++.h"

INITIALIZE_EASYLOGGINGPP

int main(int argc, char* argv[]) {

    el::Configurations conf("logging.conf");
    el::Loggers::reconfigureAllLoggers(conf);

    LOG(ERROR) << "-----error log";
    LOG(WARNING) << "-----warning log";
    LOG(INFO) << "-----info log";
    LOG(TRACE) << "-----trace log";
    LOG(DEBUG) << "-----debug log";


	system("pause");
	return 0;
}

会在该程序的运行目录下,新建log的文件夹,里面有刚记录的log文件

 在C/C++->预处理器->预处理器定义,添加宏ELPP_NO_DEFAULT_LOG_FILE,可以去掉默认生成的myeasylog.log的文件

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值