级别:
Global级别:表示所有级别的泛型级别。在设置所有级别的全局配置时非常有用。
Trace级别;可用于回溯某些事件的信息——通常比调试日志有用
Debug级别:对于开发人员调试应用程序最有用的信息事件,获取输出
Fatal级别:非常严重的错误事件,可能会导致应用程序中止
Error级别:错误信息,但将继续应用程序以保持运行
Warning级别:信息表示应用程序中的错误,但应用程序将继续运行
Info级别:主要用于表示当前的应用进展
Verbose级别:可能非常有用并随详细日志几率级别的不同而变化的信息
Unknowm级别:仅适用分层日志记录,用于完全关闭日志记录
配置说明:
ENABLED:是否启用日志的相应级别。类型:bool
TO_FILE: 是否将相应的日志写入日志文件。类型:bool
TO_STANDARD_OUTPUT: 是否将日志写入标准输出,例如终端或命令提示符。类型:bool
FORMAT:确定相应级别和日志格式/模式。类型:char*
FILENAME:确定为相应级别和写入日志的日志文件(完整路径)。类型:char*
MILLISECONDS_WIDTH:指定毫秒宽度。宽度可在(1-6)范围内。类型:uint
PERFORMANCE_TRACKING :确定是否启用性能跟踪。类型:bool
MAX_LOG_FILE_SIZE:如果对应级别的日志文件大小为>=指定的大小,日志文件将被截断。类型:size_t
LOG_FLUSH_THRESHOLD:指定在刷新挂起的日志数据之前要保留的日志条目数。类型:size_t
参数解析:
%datetime : 当前的时间
%fbase : 当前的文件名字
%line : 当前的行数
%msg : 信息数据
%Y : 年
%M : 月
%d : 日
%level : 日志的级别,比如:DEBUG,ERROR,WARNING,INFO, FATAL, TRACE
基本使用流程:
#首先包含cc文件与h文件,声明宏定义:INITIALIZE_EASYLOGGINGPP
方式一:
//加载配置文件
el::Configurations conf(配置文件路径);
//设置配置文件
el::Loggers::reconfigureAllLoggers(conf);方式二:
//加载默认配置 init log
el::Configurations conf;
//设置为默认
conf.setToDefault();
//设置日志输出格式
conf.setGlobally(el::ConfigurationType::Format, "%datetime %level [%fbase|%line] %msg");
//设置日志文件目录以及文件名
conf.setGlobally(el::ConfigurationType::Filename, "logs\\%datetime{%Y%M%d}.log");
//启用日志
conf.setGlobally(el::ConfigurationType::Enabled, "true");
//是否写入文件
conf.setGlobally(el::ConfigurationType::ToFile, "true");
//是否输出控制台
conf.setGlobally(el::ConfigurationType::ToStandardOutput, "false");
//设置配置文件
el::Loggers::reconfigureAllLoggers(conf);#使用:
//DEBUG,ERROR,WARNING,INFO, FATAL, TRACE
LOG(类型) << xxx;
例子:
程序:
#include <iostream>
#include "easylogging++.h"
using namespace std;
INITIALIZE_EASYLOGGINGPP
void Mode1()
{
//加载配置文件
el::Configurations conf("C://esaylogging.conf");
//设置配置文件
el::Loggers::reconfigureAllLoggers(conf);
}
void Mode2()
{
//加载默认配置 init log
el::Configurations conf;
//设置为默认
conf.setToDefault();
//设置日志输出格式
conf.setGlobally(el::ConfigurationType::Format, "%datetime %level [%fbase|%line] %msg");
//设置日志文件目录以及文件名
conf.setGlobally(el::ConfigurationType::Filename, "logs\\%datetime{%Y%M%d}.log");
//启用日志
conf.setGlobally(el::ConfigurationType::Enabled, "true");
//是否写入文件
conf.setGlobally(el::ConfigurationType::ToFile, "true");
//是否输出控制台
conf.setGlobally(el::ConfigurationType::ToStandardOutput, "false");
//设置配置文件
el::Loggers::reconfigureAllLoggers(conf); //加载配置文件
}
int main()
{
Mode1();
//Mode2();
LOG(INFO) << "hello word";
cout << "ok" << endl;
system("pause");
return 0;
}
方式一:
配置文件设置如下:
配置文件路径:C:\esaylogging.conf
方式一结果:
方式二结果:
生成的路径为:logs\\%datetime{%Y%M%d}.log,所有是程序当前路径