log4xx 继承

原创
2014/03/04 11:34
阅读数 446

log4cxx可以使用配置文件进行设置,并且其设置方式与log4j兼容;

log4cxx库对日志流设置,只需更改配置文件中的appender属性;

log4cxx支持Logger继承机制,默认会继承父Logger的appender,由于要将日志流输出到多个文件中,因此需要将子Logger的继承属性设置为false.

配置子Logger

为了最大程度的灵活性,log4cxx引入了子Logger这个概念,即拥有与父Logger不同的行为,和编程语言中的OOP概念一致。

下面是在配置文件中定义一个子Logger的代码,其中ap0是logger0使用的appender: 

log4j.logger.logger0 = TRACE, ap0  

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


展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
0 评论
1 收藏
0
分享
返回顶部
顶部