2017-03-16 31 views
0

現在我有以下配置:是否可以配置Log4net清理日誌文件,但不是白天?

<appender name="RollingFile" type="log4net.Appender.RollingFileAppender"> 
    <file value="c:\temp\log.txt" /> 
    <appendToFile value="true" /> 
    <maximumFileSize value="2MB" /> 
    <maxSizeRollBackups value="100" /> 
    <lockingModel type="log4net.Appender.FileAppender+MutexLock" /> 
    <filter type="log4net.Filter.LevelRangeFilter"> 
     <levelMin value="DEBUG" /> 
     <levelMax value="FATAL" /> 
    </filter> 
    <layout type="log4net.Layout.PatternLayout"> 
     <conversionPattern value="[%thread]; %-5level; %date{yyyy-dd-MM HH:mm:ss.fff}; [%logger]; %message; %newline"/> 
    </layout> 
    </appender> 

有了這個配置,我得到了很多的日誌文件(按每天100個日誌文件),例如:

DAY 20: 
log.txt.2016-07-20.1 
log.txt.2016-07-20.2 
... 
log.txt.2016-07-20.100 

DAY 21: 
log.txt.2016-07-21.1 
log.txt.2016-07-21.2 
... 
log.txt.2016-07-21.100 

我想控制文件總數爲100個文件,而不是每天100個文件。我怎麼能這樣控制?

回答

1

您還沒有指定的RollingStyle使默認爲RollingMode.Composite

複合:根據文件的大小和日期都卷文件

這就是爲什麼你越來越maxSizeRollBackups每一天,因爲默認日期翻轉是每天一次。

你只需要通過大小,而不是日期滾動,所以你應該添加這個到附加目的地的配置:

<rollingStyle value="Size" /> 

有在config examples for RollingFileAppender

+0

我懷疑是詳細這也將導致日誌文件名稱改變.. – stuartd

+0

它完美的作品。在我剛剛重寫日期模式之前(),但這種官方配置更好。 –

相關問題