我是log4cplus的新手。我有以下配置:
log4cplus.rootLogger=TRACE, STDOUT
log4cplus.logger.zios.utl.Thread=DEBUG, STDOUT
log4cplus.appender.STDOUT=log4cplus::ConsoleAppender
log4cplus.appender.STDOUT.layout=log4cplus::PatternLayout
log4cplus.appender.STDOUT.layout.ConversionPattern=%d{%H:%M:%S} [%t] - %m%n
我使用以下代码加载:
try {
log4cplus::PropertyConfigurator::doConfigure("log4cplus.properties");
} catch (...) {
cout << "exception occured while opening log4cplus.properties" << endl;
}
它加载时没有任何意外,但每当我记录某些内容时,我都会在日志中显示两条消息。例如,我使用此代码进行记录:
Logger log = Logger::getInstance("zios.utl.Thread");
LOG4CPLUS_DEBUG(log, "Thread created");
以及日志中显示的内容是:
17:10:48 [3075459952] - Thread created
17:10:48 [3075459952] - Thread created
知道为什么会这样吗?
答案 0 :(得分:3)
你有一个appender,你使用它两次,两个记录器:
log4cplus.rootLogger=TRACE, STDOUT
log4cplus.logger.zios.utl.Thread=DEBUG, STDOUT
这意味着appender附加到根记录器和zios.utl.Thread
记录器。