【log4cpp

您所在的位置:网站首页 configphp配置文件说明 【log4cpp

【log4cpp

2023-08-23 17:24| 来源: 网络整理| 查看: 265

2_log4cpp配置文件的使用 0 log4cpp1 配置文件说明1 rootCategory2 自定义Category 2 实验代码2.1 配置文件2.2 代码2.3 代码编译

0 log4cpp

log4cpp种最重要的概念有Category(种类)、Appender(附加器)、layout(布局)、Priority(优先级)、NDC(嵌套的诊断上下文)。

其中,Category、Appender与Layout三者的关系如下图所示: 在这里插入图片描述

1 配置文件说明 1 rootCategory

log4cpp的category分为rootCategory和其他自定义的category。而每个category均可以输出到多个appender,且category也是具有包含关系的。如rootcategory为所有category的根,且自定义的category也可以具有包含关系。 如下是一个rootcategory的配置。

log4cpp.rootCategory=DEBUG, rootAppender1, rootAppender2

这个定义里,指定rootcategory的log优先级为DEBUG,其中根Category包含两个appender,分别为 rootAppender1和 rootAppender2。

2 自定义Category log4cpp.category.demo=DEBUG, sample

这个定义中,指自定义了一个名字为demo的category,其日志优先级为DEBUG,appender的名字为sample。

2 实验代码 2.1 配置文件 # 定义root Category的属性 log4cpp.rootCategory=DEBUG, rootAppender # 自定义三个 category 的属性 log4cpp.category.sub1=DEBUG, A1, A2 log4cpp.category.sub1.sub2=DEBUG, A3 log4cpp.category.txhAppender=DEBUG, txh # 配置root Category中 rootAppender 的输出位置 输出格式, log4cpp.appender.rootAppender=ConsoleAppender log4cpp.appender.rootAppender.layout=PatternLayout log4cpp.appender.rootAppender.layout.ConversionPattern=%d [%p] %m%n # 配置自定义 appender “A1” 的 输出位置和输出格式 log4cpp.appender.A1=FileAppender log4cpp.appender.A1.fileName=A1.log log4cpp.appender.A1.layout=BasicLayout # 配置自定义 appender “A2” 的 输出位置和输出格式 log4cpp.appender.A2=FileAppender log4cpp.appender.A2.threshold=WARN log4cpp.appender.A2.fileName=A2.log log4cpp.appender.A2.layout=PatternLayout log4cpp.appender.A2.layout.ConversionPattern=%d [%p] %m%n # 配置自定义 appender “A3” 的 输出位置和输出格式 log4cpp.appender.A3=RollingFileAppender log4cpp.appender.A3.fileName=A3.log log4cpp.appender.A3.maxFileSize=200 log4cpp.appender.A3.maxBackupIndex=1 log4cpp.appender.A3.layout=PatternLayout log4cpp.appender.A3.layout.ConversionPattern=%d [%p] %m%n # 配置名字为 “txh” 的 自定义 appender的 输出位置和输出格式 log4cpp.appender.txh=SyslogAppender log4cpp.appender.txh.layout=PatternLayout log4cpp.appender.txh.layout.ConversionPattern=%d [%p] %m%n 2.2 代码 #include #include "log4cpp/Category.hh" #include "log4cpp/Appender.hh" #include "log4cpp/FileAppender.hh" #include "log4cpp/OstreamAppender.hh" #include "log4cpp/Layout.hh" #include "log4cpp/BasicLayout.hh" #include "log4cpp/Priority.hh" #include "log4cpp/PropertyConfigurator.hh" #include "log4cpp/SyslogAppender.hh" #include "log4cpp/LoggingEvent.hh" #include int main(int argc , char* argv[]) { try { log4cpp::PropertyConfigurator::configure("./log4cpp.conf"); } catch(log4cpp::ConfigureFailure& f) { std::cerr


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3