你是否正在寻找关于log4cpp的内容?让我把最完美的东西奉献给你:
本文转载自:
另一个非常优秀的特征就是通过读取配置文件,确定category、appender、layout等对象。也是我们非常推荐的使用方式,可以灵活地通过配置文件定义所有地对象及其属性,不用重新编码,动态更改日志记录的策略。
Log4cpp主要提供了 log4cpp::PropertyConfigurator 和log4cpp::SimpleConfigurator两种机制(文件式),但 log4cpp::SimpleConfigurator将来不再支持了,而且式非常简单,这里就不多说明,自己看源码吧。
配置文件的式和log4j的配置文件一样,是标准的java属性文件式。下面是附带的例子配置文件:
#定义了3个categorysub1,sub2,sub3
#其中sub2和sub3设置了additivity属性为false;sub1的additivity属性默认为true
rootCategory=DEBUG,rootAppender
category.sub1=,A1
category.sub2=INFO,A2
additivity.sub2=false
category.sub3=ERROR,A3
additivity.sub3=false
#定义rootAppender类型和layout属性,这里使用了BasicLayout
appender.rootAppender=org.apache.log4cpp.ConsoleAppender
appender.rootAppender.layout=org.apache.log4cpp.
#定义A2的属性,这里使用了PatternLayout
appender.A2=org.apache.log4cpp.ConsoleAppender#定义A3的属性
appender.A3=org.apache.log4cpp.RollingFileAppender
appender.A3.fileNameA3.log
appender.A3.maxFileSize=50
appender.A3.maxBackupIndex=3
appender.A3.backupPatternd
appender.A3.layout=org.apache.log4cpp.PatternLayout
appender.A3.layout.ConversionPattern
#include
argv[]){
//1读取解析配置文件
//读取出错,完全可以忽略,可以定义一个缺省策略或者使用系统缺省策略
//BasicLayout输出所有优先级日志到ConsoleAppender
try
{
log4cpp::PropertyConfigurator::configure();
}
f)
{
std::coutstd::endl;
;
}
//2实例化category对象
//这些对象即使配置文件没有定义也可以使用,不过其属性继承其父category
//通常使用引用可能不太方便,可以使用指针,以后做指针使用
log4cpp::Category::getRoot();
log4cpp::Category));
log4cpp::Category));
log4cpp::Category));
log4cpp::Category));
//正常使用这些category对象进行日志处理,。
);
//sub1hasappenderA1androotappender.sincetheadditivitypropertyissettruebydefault
);
//sub2hasappenderA2appender.sincetheadditivitypropertyissettofalse
);
//sub3onlyhasA3appender.sincetheadditivitypropertyissettofalse
);
sub3.alert();
//sub4cannotbefoundintheconfigfile,sotherootcategory'sappenderandlayoutareused
);
;
}
终端打印出来的log:
1308828470 FATAL : root's log
1308828470 INFO sub1 : sub1's log
The message 'sub2's log' at time 2011-06-23 19:27:50,624
1308829427 WARN sub4 : sub4's log
log/A1.log的内容:
INFO : sub1's log
log/A3.log的内容:
2011-06-23 19:27:50 [ALERT]: [sub3] sub3's log
以上就是关于log4cpp的全部内容,相信你一定会非常满意。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-15500-1.html
五角大楼一再扬言
厂家也是下血本了