【问题标题】:Why are duplicate messages being logged为什么要记录重复的消息
【发布时间】:2013-08-26 19:56:33
【问题描述】:

我是 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

知道为什么会这样吗?

【问题讨论】:

    标签: c++ logging log4cplus


    【解决方案1】:

    你有一个 appender,你使用了两次,用于两个 logger:

    log4cplus.rootLogger=TRACE, STDOUT 
    log4cplus.logger.zios.utl.Thread=DEBUG, STDOUT
    

    这意味着 appender 附加到 root logger 和 zios.utl.Thread logger。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-22
      • 2015-03-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-26
      相关资源
      最近更新 更多