Я новичок в 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
Есть идеи, почему это происходит?
У вас есть один appender, и вы используете его дважды для двух регистраторов:
log4cplus.rootLogger=TRACE, STDOUT
log4cplus.logger.zios.utl.Thread=DEBUG, STDOUT
Это означает, что appender подключен к корневому логгеру и zios.utl.Thread
регистратор.
Других решений пока нет …