前言
easylogging++ 是C++代码的一个高效、轻量化的日志插件,支持直接使用.h形式引入,本文简单记录一些遇到的问题及其解决方案。
一、在CMake工程中集成
一种较为简单的方式是直接将源码作为子目录或以源码形式作为工程的一部分,以下是作为源码的几种方案:
# method1
file(GLOB_RECURSE YOUR_SOURCE
easyloggingpp/src/*.cpp
)
# method2
aux_source_directory(easyloggingpp/src/easylogging++.cpp YOUR_SOURCE)
# method3
set(YOUR_SOURCE
easyloggingpp/src/easylogging++.cc
)
二、避免重复初始化(INITIALIZE_EASYLOGGINGPP)
有时候我们并不想只在main函数中启动我们的程序,例如使用gtest或多接口调用时。次数我们仅需构建自己工程的Logger类,例如:
your_Logger.h
your_logger.cpp
// your_logger.h
#include "easylogging++.h"
// .. 一些配置代码
// --------------------------
// your_logger.cpp
#include "your_logger.h"
INITIALIZE_EASYLOGGINGPP
三、取消输出到文件(只打印到控制台)
在CMakelists.txt中添加:
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DELPP_NO_DEFAULT_LOG_FILE")
未完待续,其他问题可详见github页面