2014-08-28 1 views
1

У меня есть log4net logger в службе WCF, поддерживающей IIS. Регистратор настроен как скопированный файл-файл по размеру. Служба развертывается в 3 различных средах - QA, ИСПЫТАНИЯ и PROD.log4net RollingFileAppender удаляет все старые файлы

Проблема, которая возникает только в среде QA, заключается в том, что старые файлы журналов не сохраняются. Когда новый файл журнала открывается, он заменяет старый файл.

Это конфигурация log4net из среды QA, который имеет проблему:

<configSections> 
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/> 
</configSections> 
<log4net> 
    <appender name="B2BAppender" type="log4net.Appender.RollingFileAppender, log4net"> 
     <!--<param name="File" type="log4net.Util.PatternString" value="Log/%property{LogName}"/>--> 
     <param name="File" type="log4net.Util.PatternString" value="Log/B2BService.log"/> 
     <param name="AppendToFile" value="true"/> 
     <param name="RollingStyle" value="Size"/> 
     <param name="MaximumFileSize" value="50KB"/> 
     <param name ="MaxSizeRollBackups" value="-1"/> 
     <param name="StaticLogFileName" value="true"/> 
     <param name="countDirection" value="1"/> 
     <param name="PreserveLogFileNameExtension" value="true"/> 
     <layout type="log4net.Layout.PatternLayout, log4net"> 
     <param name="ConversionPattern" value="%date{dd/MM/yyyy HH:mm:ss.fff} [%level]: %message"/> 
     </layout> 
    </appender> 
    <logger name="B2BLog"> 
     <level value="ALL"/> 
     <appender-ref ref="B2BAppender"/> 
    </logger> 
</log4net> 

В этой среде, файл B2BService.log в настоящее время переопределяется каждый раз. Нет старых файлов журналов.

Это конфигурация log4net из PROD среды, которая работает нормально:

<configSections> 
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/> 
    </configSections> 
<log4net> 
    <appender name="B2BAppender" type="log4net.Appender.RollingFileAppender, log4net"> 
     <!--<param name="File" type="log4net.Util.PatternString" value="Log/%property{LogName}"/>-->    
     <param name="File" type="log4net.Util.PatternString" value="Log/B2BService.log"/> 
     <param name="AppendToFile" value="true"/> 
     <param name="RollingStyle" value="Size"/> 
     <param name="MaximumFileSize" value="10MB"/> 
     <param name ="MaxSizeRollBackups" value="-1"/> 
     <param name="StaticLogFileName" value="true"/> 
     <param name="countDirection" value="1"/> 
     <param name="PreserveLogFileNameExtension" value="true"/> 
     <layout type="log4net.Layout.PatternLayout, log4net"> 
     <param name="ConversionPattern" value="%date{dd/MM/yyyy HH:mm:ss.fff} [%level]: %message%newline"/> 
     </layout> 
    </appender> 
    <logger name="B2BLog"> 
     <level value="ALL"/> 
     <appender-ref ref="B2BAppender"/> 
    </logger> 
</log4net> 

В этой среде, старые файлы журналов сохраняются с именами B2BService.1.log, B2BService.2.log и т.д.

Как вы можете видеть, единственными отличиями являются MaximumFileSize (который слишком мал в QA, я знаю, будет изменен) и ConversionPattern. Оба они не должны влиять на скорость файла по размеру.

Любые идеи?

ответ

0

Возможно, вам нужно удалить параметры StaticLogFileName и PreserveFileNameExtension (или установить их в false)? Ваша конфигурация говорит: «Не сохраняйте резервные копии, используйте одинаковое имя файла все время» - поэтому log4net пытается это лучше всего. Только мое предположение здесь

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

  • Нет связанных вопросов^_^