Конфигурация log4cxx читается из последующего XML через:
DOMConfigurator::configure("log4cxx.xml");
Но нужно, чтобы имя файла было установлено во время выполнения, и это создает проблему либо наличия нескольких файлов .xmls для чтения, либо создания файла на лету (в памяти / на диске - независимо от того, где).
<appender name="appxNormalAppender" class="org.apache.log4j.FileAppender">
<param name="file" value="appxLogFile.log" />
<param name="append" value="true" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %-5p [%t:%x] %C{2} (%F:%L) - %m%n" />
</layout>
</appender>
Можно ли передать конфигуратору некоторые значения для замены в <param file="file" value="%%value%%" />
или для доступа к свойству после настройки и изменения?
P.S. Причина для этого: несколько копий одной и той же программы пишут в один и тот же журнал, что выглядит как ... странно. Как избежать этого с log4j / log4cxx традиционным способом, не изобретая слишком много велосипедов?