Уверен, что на этот вопрос ответил несколько раз. Но почему-то это не работает для меня.Как изменить имя файла журнала log4j динамически
My appender - это что-то вроде этого.
<appender name="myAppender" class="org.apache.log4j.DailyRollingFileAppender">
<param name="Threshold" value="DEBUG"/>
<param name="File" value="D:\\out\\MyApp_${output}.log"/>
<param name="DatePattern" value="'.'yyyy-MM-dd"/>
<param name="Append" value="true"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{DATE} %5p %C{1}:%L - %m%n"/>
</layout>
</appender>
Я устанавливаю системное свойство перед созданием регистратора.
System.setProperty («output», «abc»);
Затем я создаю регистратор следующим образом.
logger = Logger.getLogger ("myAppender");
Но выходной файл генерируется только так.
MyApp_.log
ли я что-то отсутствует? Заранее спасибо.
Я не могу использовать эту опцию, так как я не знаю значение при запуске. – Shan
Похоже, мы должны инициализировать файл log4j после установки системного свойства. – Shan
System.setProperty («output», «abc»); а затем DOMConfigurator.configure («MyLog4j.xml») – Shan