1 easylogging++日志会默认生成日志文件mylog.txt

在使用C++日志库easylogging++的过程中,既使我们在日志配置中已经进行了日志文件路径和文件名格式的指定,但是只要通过以下类似代码初始化了easylogging++,

#include "easylogging++.h"

INITIALIZE_EASYLOGGINGPP

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

就会默认生成一个日志文件mylog.txt。

虽然这个默认的日志不对实际日志输出产生什么影响,但是看着就是很不舒服。后面在仔细看了easylogging++的Github仓库文档之后,我发现了下面的一个宏ELPP_NO_DEFAULT_LOG_FILE,这个宏的意义是

If you dont want to initialize library with default log file, define this macro. This will log to null device for unix and windows. In other platforms you may get error and you will need to use ELPP_DEFAULT_LOG_FILE. (PR for other platform's null devices are most welcomed)

意思是说:如果我们不想再初始化的时候创建默认的日志文件,就在项目中定义这个宏去禁止产生默认的日志文件。

C++ – 日志库easylogging++初始化时不生成默认日志文件mylog.txt-StubbornHuang Blog

所以这个问题的解决就是在项目中定义宏:ELPP_NO_DEFAULT_LOG_FILE,这样就可以在去除默认日志文件的生成。