Добавить, включить, отключить log4cxx ConsoleAppender во время выполнения

Как бы мне динамически включить и выключить ведение журнала log4cxx на консоли в приложении?

Цель здесь состоит в том, чтобы обработать используемый выбор, ввод командной строки или ввод GUI или что-то еще. Таким образом, в гипотетическом основном цикле:

if ( userWantsToStartConsoleLogger )
ConsoleLogger( true );
if ( userWantsToStopConsoleLogger )
ConsoleLogger( false );

Моя настройка регистрации:

#include <log4cxx/logger.h>
#include <log4cxx/propertyconfigurator.h>
#include <log4cxx/helpers/exception.h>

int main( int argc, char** argv )
{
const log4cxx::LoggerPtr   logger;
log4cxx::PropertyConfigurator::configure("./logs.config");
}

где ./logs.config похоже:

log4j.rootLogger=INFO, File

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n

log4j.appender.File=org.apache.log4j.RollingFileAppender
log4j.appender.File.File=logs/system.logs
log4j.appender.File.MaxFileSize=1MB
log4j.appender.File.MaxBackupIndex=10
log4j.appender.File.layout=org.apache.log4j.PatternLayout
log4j.appender.File.layout.ConversionPattern=%d{MM/dd/yyyy HH:mm:ss:SSS a}  %p  %c  %m%n

ПРИМЕЧАНИЕ: в настоящее время я должен добавить , stdout после FILE в rootlogger= линия для достижения этой цели.

В этом контексте, конечно, вопрос в том, что происходит в моем ConsoleLogger() функционировать?

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]