構成ファイルをlog4cxxに読み込みたいのですが、実行時にアペンダー/ロガーを変更したいと思います。これはできますか?
log4cxxファイルの例:
log4j.rootLogger=all, console, file
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.layout=org.apache.log4j.SimpleLayout
log4j.appender.console.threshold=info
log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %c [%p] %l %m%n
log4j.appender.file.filename=logfile.txt
log4j.appender.file.datePattern='.'yyyy-MM-dd
ソースの例:
PropertyConfigurator::configure("./LoggingConfig.txt");
auto rootlogger = Logger::getRootLogger();
DailyRollingFileAppenderPtr fileappender = rootlogger->getAppender(LOG4CXX_STR("file"));
fileappender->setFile(LOG4CXX_STR("thisisthenewfile.txt"));
--出力がまだ構成ファイルの元の場所に書き込まれていることに気づきました。
ファイルだけでなくコード(ランタイム)を使用して構成することはおそらく不可能ですか?