2014-07-23 37 views
1

如何配置log4net appender以登錄到默認日誌文件名稱,並在當前日誌文件達到其定義的限制時生成日誌文件,但保留現有生成的日誌文件。log4net不重命名現有衍生日誌文件

例(日誌附加器日誌log.log

log.log log.1.log log.2.log

log.log達到其大小限制,我想是該日誌。日誌被重命名爲log.3.log,而不是log.1.log(並且log.1.log變成了log.2.log,而log.2.log變成了log.3.log)。

我想我可以通過StaticLogFileName屬性來實現這一點,但似乎並非如此。

電流附加器:

<appender name="ContextLogAppender" type="log4net.Appender.RollingFileAppender"> 
    <file value="C:\IAI\Logs\ContextLog\context_log.txt" /> 
    <appendToFile value="true" /> 
    <rollingStyle value="Size" /> 
    <maxSizeRollBackups value="100" /> 
    <maximumFileSize value="10MB" /> 
    <staticLogFileName value="true"/> 
    <PreserveLogFileNameExtension value="true" /> 
    <layout type="log4net.Layout.PatternLayout"> 
     <header value="%newline===[SOFTWARE STARTUP AT %date]===%newline" type="log4net.Util.PatternString" /> 
     <footer value="%newline===[SOFTWARE SHUTDOWN]===%newline%newline" type="log4net.Util.PatternString" /> 
     <conversionPattern value="%date{yyyy-MM-dd HH:mm:ss,fff} [%-5level][thread: %thread][%logger] %message%newline" /> 
    </layout> 
    <filter type="log4net.Filter.LevelMatchFilter"> 
     <levelToMatch value="PRODUCTION" /> 
    </filter> 
    </appender> 

回答

1

實測值的設置,方向與countDirection進行配置。

<appender name="ContextLogAppender" type="log4net.Appender.RollingFileAppender"> 
    <file value="C:\IAI\Logs\ContextLog\context_log.txt" /> 
    <appendToFile value="true" /> 
    <rollingStyle value="Size" /> 
    <maxSizeRollBackups value="100" /> 
    <maximumFileSize value="10MB" /> 
    <staticLogFileName value="true"/> 

    *<countDirection value="1"/>* 
  • countDirection < 0將導致日誌文件1重命名爲日誌文件2.
  • countDirection > 0將導致日誌文件,以保持自己的文件名,並且具有最大數量的最新催生日誌文件。