3. 配置文件驱动方式使用步骤
另一个非常优秀的特征就是通过读取配置文件,确定category、appender、layout等对象。也是我们非常推荐的使用方式,可以灵活地通过配置文件定义所有地对象及其属性,不用重新编码,动态更改日志记录的策略。log4cpp
Log4cpp主要提供了 log4cpp::PropertyConfigurator 和log4cpp::SimpleConfigurator两种机制(文件格式),但 log4cpp::SimpleConfigurator将来不再支持了,而且格式非常简单,这里就不多说明,自己看源码吧。

配置文件的格式和log4j的配置文件一样,是标准的java属性文件格式。下面是附带的例子配置文件:
# a test config #定义了3个category sub1, sub2, sub1.sub2 log4j.root Category=DEBUG, rootAppender log4j.category.sub1=,A1 log4j.category.sub2=INFO log4j.category.sub1.sub2=ERROR, A2 # 设置sub1.sub2 的additivity属性 log4j.additivity.sub1.sub2=false #定义rootAppender类型和layout属性 log4j.appender.rootAppender=org.apache.log4j.ConsoleAppender log4j.appender.rootAppender.layout=org.apache.log4j.BasicLayout #定义A1的属性 log4j.appender.A1=org.apache.log4j.FileAppender log4j.appender.A1.fileName=A1.log log4j.appender.A1.layout=org.apache.log4j.SimpleLayout #定义A2的属性 log4j.appender.A2=org.apache.log4j.ConsoleAppender log4j.appender.A2.layout=org.apache.log4j.PatternLayout log4j.appender.A2.layout.ConversionPattern=The message '%m' at time %d%n
配置文件语法如下,不是很规范,结合上面的例子,应该可以看懂。
log4j / log4cpp .
[category / appender].[category or appender 's name].
[category or appender 's property] = [Appender / Layout / property's value / Priority, appender name1 [appender name2 ...]]
[appender] {ConsoleAppender}
{FileAppender}
// 当appender的类型是FileAppender时,可以定义它下面的属性。
[fileName] string foobar
// 格式是:属性名 值的类型 缺省值
[append] bool true {RollingFileAppender}
[fileName] string foobar
[maxFileSize] num 10*1024*1024
[maxBackupIndex] num 1
[append] bool true {SyslogAppender}
[syslogName] string syslog
[syslogHost] string localhost
[facility] num -1 // * 8 to get LOG_KERN, etc. compatible values.
[portNumber] num -1 {IdsaAppender}
[idsaName] string foobar {Win32DebugAppender} {NTEventLogAppender}
[source] string foobar
[threshold] string "" // 全部
// 如果此类型appender需要layout,必须定义此appender的下面属性
[layout] {BasicLayout} {SimpleLayout} {PatternLayout}
// 当layout的值是BasicLayout时,需要定义下面的属性。
[ConversionPattern]
[rootCategory] [additivity]
[category name] bool true
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-23406-3.html
还能一棵树上吊死