Log4net генерирует неправильное имя файла журнала
Я хочу создать имена файлов журналов по следующей схеме:
SBRF_20120820.log
SBRF_20120821.log
SBRF_20120822.log
SBRF_20120823.log
Другими словами, создайте новый файл для каждого дня. Итак, я создаю следующую конфигурацию, чтобы сделать это:
<log4net>
<appender name="FileAppender" type="log4net.Appender.RollingFileAppender, log4net">
<file type="log4net.Util.PatternString" value="Logs/SBRF_%date{yyyyMMdd}.log" />
<appendToFile value="true" />
<rollingStyle value="Date" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date %-5level - %message%newline" />
</layout>
</appender>
<logger name="LogEmArquivo">
<level value="INFO" />
<appender-ref ref="FileAppender" />
</logger>
</log4net>
Когда я запускаю программу, сегодня, например, файл SBRF_20120823.log
будет создан. Но в последующие дни журнал продолжает писать в SBRF_20120823.log
файл, и файлы, которые создаются:
SBRF_20120823.log.2012-08-23
SBRF_20120823.log.2012-08-24
SBRF_20120823.log.2012-08-25
SBRF_20120823.log.2012-08-26
И если я запусту программу завтра, файлы, которые будут созданы:
SBRF_20120824.log.2012-08-24
SBRF_20120824.log.2012-08-25
SBRF_20120824.log.2012-08-26
SBRF_20120824.log.2012-08-27
Зачем?
3 ответа
Вы не помещаете шаблон даты в <файл> - это статическая часть имени файла. Вы должны поместить его в
Кроме того, если вы используете log4net 1.2.11, вы можете использовать
Я думаю, что вы хотите, чтобы ваша конфигурация выглядела так:
<log4net>
<appender name="FileAppender" type="log4net.Appender.RollingFileAppender, log4net">
<file type="log4net.Util.PatternString" value="Logs/SBRF_.log"/>
<appendToFile value="true" />
<rollingStyle value="Date" />
<datePattern value="yyyyMMdd" />
<preserveLogFileNameExtension value="true"/>
<staticLogFileName value="false" />
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date %-5level - %message%newline" />
</layout>
</appender>
<logger name="LogEmArquivo">
<level value="INFO" />
<appender-ref ref="FileAppender" />
</logger>
Не думайте, что вы изменили это поведение с помощью RollingFileAppender, поэтому вам придется создать свой собственный appender.