要完成Easylogging++日志的配置功能,可以通过三种方式实现,而且每一种方法都非常简单。
·使用配置文件,这种方法的好处就是只要修改配置文件即可实现日志格式的重新配置,而不需要修改源程序代码,缺点就是发布程序时必须打包配置文件一起发布,否则程序无法正常运行。
·使用el::Configurations类提供的成员函数,这种方法和第一种方法的优缺点正好相反。
·使用Easylogging++的内联配置功能,但是并不推荐使用这种方式,因为它会显得配置十分凌乱。
方法一:使用配置文件
在程序运行时,可以通过使用el::Configurations类加载配置文件来完成Easylogging++的配置功能,配置文件必须遵循下面的语法:
* LEVEL:
CONFIGURATION NAME = "VALUE" ## Comment
CONFIGURATION NAME = "VALUE"
语法简要说明如下:
·*LEVEL,指的是日志级别,以星号符"*"开始,并以英文冒号":"结束。
·CONFIGURATION NAME, 指的是配置项的名称,全部名称见下面的表格。
·"VALUE",指的是配置项的值,各个配置对应的值类型详见下面的表格。
·##Comment,指的是注释,其中两个连续井号"##"表示注释,Comment是注释的内容。注释是可有可无的,但是千万不要在注释中使用双引号,否则可能会出现意想不到的错误。
编写配置文件时,强烈建议先写Global级别的配置,这样的好处是可以使其他未在配置文件中明确指出的级别都将会自动继承使用Global级别的配置。
下表列举了GitHub上给出的Easylogging++在配置文件中支持的配置项:
my_log.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
* TRACE:
FILENAME = "log\\trace_log_%datetime{%Y%M%d}.log"
* DEBUG:
FILENAME = "log\\debug_log_%datetime{%Y%M%d}.log"