Log4cxx是開放源代碼項目ApacheLoggingService的子項目之一,用於爲C++程序提供日誌功能。apache
Log4cxx有三個關鍵組件,它們是Loggers,Appenders 和Layouts.app
Loggers:1,log4cxx的核心類,執行日誌操做.佈局
2,分爲六個級別:TRACE < DEBUG < INFO < WARN < ERROR < FATAL。這六個級別是有順序的,分別 用來指定這條日誌信息的重要程度,明白這一點很重要,Log4j有一個規則:只輸出級別不 低於設定級別的日誌信息,假設Loggers級別設定爲INFO,則INFO、WARN、ERROR和 FATAL級別的日誌信息都會輸出,而級別比INFO低的DEBUG則不會輸出spa
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 = valueNit
Layouts: 進行格式設置.
io
常使用的類以下:
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文件做爲配置方式。