Log4Net композитный RollingFileAppender со статическим расширением файла - PullRequest
4 голосов
/ 11 апреля 2011

Есть ли в текущей версии Log4net способ создания приложения RollingFileAppender с комбинированным стилем прокатки, в котором свернутые файлы всегда сохраняют заданное расширение (в моем случае - .log)?

Пример формата, который я хотел бы:

MyLog.log
MyLog.2011-04-10.1.log
MyLog.2011-04-10.2.log
MyLog.2011-04-10.3.log

Я нашел это сообщение , в котором говорится, что существует свойство "PreserveLogFileNameExtension", но оно не включено в официальные двоичные файлы. Это все еще так?

Если так: Кто-нибудь может объяснить, почему это свойство все еще не является официальной частью Log4Net? Я немного скептически отношусь к использованию кастомной сборки, но, может быть, мне не следует?

Мне также любопытно узнать, почему функциональность по умолчанию не сохраняет расширение файла. Я не понимаю, почему получило бы пользователь, что все файлы журнала имеют различные расширения.

Редактировать: все получилось, сделав так:
1: Загрузка и сборка исходного кода log4net
2: Применение этих исправлений: https://issues.apache.org/jira/browse/LOG4NET-64
3: Установите для параметра PreserveLogFileNameExtension значение «true» в конфигурации.

Ответы [ 3 ]

4 голосов
/ 19 мая 2011

Вы пробовали эти параметры?

<file value="log-files\MyLog" />
<appendToFile value="true" />
<rollingStyle value="Date" />
<datePattern value="yyyy-MM-dd'.log'" />
<param name="StaticLogFileName" value="false" />

Это сохранит расширение, но даст вам дату в каждом имени файла, как это

MyLog2011-05-16.log 
MyLog2011-05-17.log 
MyLog2011-05-18.log 
MyLog2011-05-19.log 

Может быть, это можно совместить с размером прокатки?

2 голосов
/ 11 апреля 2011

Ситуация без изменений. Более новой версии log4net не существует. Мне совершенно неясно, когда (если) выйдет новый релиз ...

Я думаю, вам не нужно сильно беспокоиться об использовании пользовательской сборки. Протестируйте свое программное обеспечение, если оно работает, оно достаточно хорошее.

РЕДАКТИРОВАТЬ : существует новый выпуск, который должен включать LOG4NET-64. Конечно, вы все еще можете придерживаться своей пользовательской сборки.

0 голосов
/ 03 ноября 2011

Я использую эту конфигурацию:

<file value="" />
<appendToFile value="true" />
<rollingStyle value="Date" />
<datePattern value="yyyyMMdd'.log'" />
<staticLogFileName value="false" />

Чтобы получить имена файлов, например:

  • 20111101.log
  • 20111102.log
  • 20111103.log
...