Log4cxx是开放源代码项目ApacheLoggingService的子项目之一,用于为C++程序提供日志功能。
Log4cxx有三个关键组件,它们是Loggers,Appenders 和Layouts.
Loggers:1,log4cxx的核心类,执行日志操作.
2,分为六个级别:TRACE < DEBUG < INFO < WARN < ERROR < FATAL。这六个级别是有顺序的,分别 用来指定这条日志信息的重要程度,明白这一点很重要,Log4j有一个规则:只输出级别不 低于设定级别的日志信息,假设Loggers级别设定为INFO,则INFO、WARN、ERROR和 FATAL级别的日志信息都会输出,而级别比INFO低的DEBUG则不会输出
3,可以附加多个Appender.
Appenders:1,代表了日志输出的目标,如输出到文件、控制台等等.
2,可以通过layout进行格式设置.
3,常使用的类如下:
org.apache.log4j.ConsoleAppender(控制台)
org.apache.log4j.FileAppender(文件)
org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)
org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件)
org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)
4,配置模式:
log4j.appender.appenderName = className
log4j.appender.appenderName.Option1 = value1
......
log4j.appender.appenderName.OptionN = valueN
Layouts: 进行格式设置.
常使用的类如下:
org.apache.log4j.HTMLLayout(以HTML表格形式布局)
org.apache.log4j.PatternLayout(可以灵活地指定布局模式)
org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串)
org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等信息)
配置模式:
log4j.appender.appenderName.layout =className
log4j.appender.appenderName.layout.Option1 = value1
…
log4j.appender.appenderName.layout.OptionN = valueN
配置类
有BasicConfigurator、PropertyConfigurator和DOMConfigurator等,用于对log4cxx进行配置。其中:
BasicConfigurator提供了一种简单配置,包括使用ConsoleAppder作为rootappender和PatternLayout作为缺省布局。
PropertyConfigurator使用properties文件作为配置方式。
DOMConfigurator则使用properties文件作为配置方式。