Я пытаюсь использовать log4net для входа в файл с именем переменной, используя log4net.Util.PatternString.
Конфигурация приложения выглядит следующим образом:
<appender name="file2" type="log4net.Appender.FileAppender">
<file type="log4net.Util.PatternString" value="c:\temp\MyLogFile_PID%processid.log" />
<appendToFile value="true" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date [%thread] %level - %message%newline" />
</layout>
</appender>
При такой конфигурации файл успешно создается с именем примерно таким:
MyLogFile_PID12345.log
Я успешно использовал% processid,% random {8},% env {SOME_ENV_VAR},% property {MYPROPERTY} и% appsetting {someKey}.
Но я хочу вставить дату, и независимо от того, что я пытаюсь сделать, мне кажется, что я не могу понять, что из этого:
% date,% utcdate,% date {DATE},% utcdate {DATE},% date {ISO8601},% date {ABSOLUTE},% date {{ЧЧ: мм: сс}
или в основном в любой форме даты.
Например, что не так в:
<file type="log4net.Util.PatternString" value="c:\temp\MyLogFile_%date{ISO8601}.log" />
Я также пытался использовать отдельный узел для конфигурации шаблона преобразования, но безрезультатно:
<file type="log4net.Util.PatternString">
<conversionPattern value="c:\temp\MyLogFile_%date{ISO8601}.log" />
</file>
Прямо сейчас я использую настраиваемое свойство (со свойством% {MY_CUSTOM_PROPERTY_WITH_THE_NAME_I_WANT}) для достижения аналогичного эффекта, но, помимо некоторого излишества, мне интересно, что я делаю неправильно. Я пробовал на разных компьютерах и в разных приложениях и не могу получить то, что намереваюсь.
Кстати, моя настоящая цель - использовать его в RollingFileAppender, но я спрашиваю (и пытаюсь) здесь о FileAppender просто для простоты.
Любая помощь?