2010-04-09 2 views
20

Я использую RollingFileAppender и размер rollStyle. По умолчанию он создает резервные файлы с пронумерованным расширением, это заставляет меня гайки. Можно ли изменить его, чтобы он всегда использовал определенное расширение (например .txt или .log) и вставлял номер как часть имени файла?Log4net RollingFileAppender Размер rollStyle расширение файла

Например:

myapp.log
myapp.1.log
myapp.2.log
myapp.3.log

Вот моя текущая конфигурация:

<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender"> 
    <file value="myapp.log"/> 
    <appendToFile value="true"/> 
    <rollingStyle value="Size"/> 
    <maximumFileSize value="1MB"/> 
    <maxSizeRollBackups value="10"/> 
    <staticLogFileName value="true"/> 
    <layout type="log4net.Layout.PatternLayout"> 
     <conversionPattern value="%date{ISO8601} [%3thread] %-5level %logger{3}: %message%newline" /> 
    </layout> 
</appender> 

ответ

27

PreserveLogFileNameExtension prop erty, установленный в true, должен делать трюк. Примечание: это свойство не доступно в текущей версии 1.2.10 , но является частью текущего источника. Если вы возьмете и построите источник, вам будет хорошо идти.

Обновление: Замечательно, что log4net продвигается вперед. Версия 1.2.11, а вместе с ней и свойство PreserveLogFileNameExtension, были выпущены.

+0

Где можно получить текущий источник для log4net. Когда я загружаю исходный код здесь: http://logging.apache.org/log4net/download.html, он не поддерживает поддержку PreserveLogFileNameExtension. Как вы думаете, я могу взять RollingFileAppender.cs, на который вы ссылаетесь, и наложить его на исходный файл 1.2.10? – BrettRobi

+0

Здесь вы найдете репозиторий: http://logging.apache.org/log4net/source-repository.html. –

+0

Как я могу достичь такого же поведения без необходимости исправления log4net, то есть путем расширения log4net? – bitbonk

Смежные вопросы