log4cxx可使用配置文件進行設置,而且其設置方式與log4j兼容;編程
log4cxx庫對日誌流設置,只需更改配置文件中的appender屬性;app
log4cxx支持Logger繼承機制,默認會繼承父Logger的appender,因爲要將日誌流輸出到多個文件中,所以須要將子Logger的繼承屬性設置爲false.編程語言
配置子Logger日誌
爲了最大程度的靈活性,log4cxx引入了子Logger這個概念,即擁有與父Logger不一樣的行爲,和編程語言中的OOP概念一致。繼承
下面是在配置文件中定義一個子Logger的代碼,其中ap0是logger0使用的appender: get
log4j.logger.logger0 = TRACE, ap0 it
設置子Logger不繼承父Logger的appender:配置
log4j.additivity.logger0=false 程序
設置子Logger所使用的日誌文件,下述代碼將logger0的日誌文件設定爲當前程序目錄下的0.log:配置文件
log4j.appender.ap0.File=./0.log
在程序中獲取子Logger實例
首先是加載配置文件:
log4cxx::PropertyConfigurator::configure(配置文件名稱);
獲取子Logger實例:
log4cxx::LoggerPtr logger = log4cxx::Logger::getLogger(子Logger名[例如上文中的"logger0"]);