2014-07-16 3 views
0

내 앱 (C#에서 MVVM Light WPF)을 실행하면 파일 config_log.txtconfig_log.txt.1이 생성됩니다. 앱이 진행됨에 따라 config_log.txt 크기가 커지지만 10KB가되면 롤오버하지 못합니다. (config_log.txt.1은 비어 있음).log4net이 롤링되지 않습니다. 크기

내가 닫고 내 응용 프로그램을 다시 시작 config_log.txtconfig_log.txt.2되고 지금은

나는 경우에만 현재 백업 새 백업을 만들 수를 기다리고 있었다 총 4 개 파일 (config_log.txt, config_log.txt.1, config_log.txt.2, config_log.txt.3)가 파일이 10KB에 도달하거나 앱이 다시 실행되었습니다. (이런 일이 발생해야합니까?) 그것은 여분의 파일을 만드는 것으로 보이며 크기가 10KB 제한을 초과하여 커집니다.

내가 잘못하고있는 아이디어가 있습니까?

the documentation for maximumFileSize에 따르면 내 log.config ...

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <configSections> 
    <section name="log4net" 
     type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" /> 
    </configSections> 
    <log4net> 
    <root> 

     <!-- 
     ** 
     ** Comment/Uncomment one of the following levels to enable/disable logging 
     ** 
     --> 
     <!--<level value="DEBUG" />--> 
     <!--<level value="INFO" />--> 
     <!--<level value="WARN" />--> 
     <!--<level value="ERROR" />--> 
     <!--<level value="FATAL" />--> 
     <!--<level value="OFF" />--> 
     <level value="DEBUG" /> 

     <appender-ref ref="HourlyAppender" /> 
     <!--<appender-ref ref="TraceAppender" />--> 
     <appender-ref ref="ColoredConsoleAppender" /> 
    </root> 

    <appender name="HourlyAppender" type="log4net.Appender.RollingFileAppender"> 
     <file type="log4net.Util.PatternString" value="${ALLUSERSPROFILE}/Optex/RedwallServer/Log/config_log.txt" /> 
     <staticLogFileName value="false" /> 
     <appendToFile value="false" /> 
     <rollingStyle value="Size" /> 
     <maximumFileSize value="10K"/> 
     <MaxSizeRollBackups value="4"/> 
     <layout type="log4net.Layout.PatternLayout"> 
     <param name="Header" value="" /> 
     <param name="Footer" value="" /> 
     <param name="ConversionPattern" value="%d [%t] %-5p %c %m%n" /> 
     </layout> 
    </appender> 

    <appender name="ColoredConsoleAppender" type="log4net.Appender.ColoredConsoleAppender"> 
     <mapping> 
     <level value="ERROR" /> 
     <foreColor value="White" /> 
     <backColor value="Red, HighIntensity" /> 
     </mapping> 
     <mapping> 
     <level value="INFO" /> 
     <foreColor value="Green" /> 
     </mapping> 
     <mapping> 
     <level value="WARN" /> 
     <foreColor value="Yellow" /> 
     </mapping> 
     <layout type="log4net.Layout.PatternLayout"> 
     <param name="Header" value="[Header]\r\n" /> 
     <param name="Footer" value="[Footer]\r\n" /> 
     <!--<param name="ConversionPattern" value="%d [%t] %-5p %c %m%n" />--> 
     <param name="ConversionPattern" value="%-5p %m%n" /> 
     </layout> 
    </appender> 

    <appender name="TraceAppender" type="log4net.Appender.TraceAppender"> 
     <layout type="log4net.Layout.PatternLayout"> 
     <param name="Header" value="[Header]\r\n" /> 
     <param name="Footer" value="[Footer]\r\n" /> 
     <param name="ConversionPattern" value="%d [%t] %-5p %c %m%n" /> 
     </layout> 
    </appender> 
    </log4net> 
</configuration> 
+0

저는이 점에서 매우 새로운 것이지만, 'maximumFileSize'를'10K' 대신에'10KB'로 지정해 보았습니까? – djikay

+0

또한 패턴 레이아웃을 혼합 할 수도 있습니다. 'PatternLayout'은'header' 또는'footer' 매개 변수를 갖지 않지만'DynamicPatternLayout' 매개 변수는 않습니다. 기본적으로 구성을 최소한으로 줄이고 작동하는지 확인한 다음 모든 단계에서 작동하는지 확인하면서 상단에 선택적/기본 기능을 구축하는 것이 가장 좋습니다. – djikay

+0

@ djikay '10KB'오류를 발견해 주셔서 감사합니다. 이제 크기가 10KB에 도달하면 롤됩니다. 내일 당신의 다른 제안을 볼 것입니다. – spiderplant0

답변

0

입니다 :

이 속성은 접미사 "KB"와 최대 크기를 지정할 수 있습니다, "MB"또는 크기가 각각 킬로바이트, 메가 바이트 또는 기가 바이트로 표시되도록 "GB"를 지정하십시오.
예를 들어 값 "10KB"는 10240 바이트로 해석됩니다.

크기 지정에 B이 필요합니다. 이와

<maximumFileSize value="10K"/> 

: 당신이 바꿀 경우 예상대로

<maximumFileSize value="10KB"/> 

그것은 작동합니다.

관련 문제