log4xx 繼承

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"]);

相關文章
相關標籤/搜索