2017-03-16 30 views
0

今日では、私は次のような構成があります。私は、例えば、ログファイル(当日100個のログファイル)の多くを取得しています。このような構成により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> 

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ファイルで、1日あたり100ファイルではありません。どうすればこのように制御できますか?

答えて

1

RollingMode.Composite

コンポジットデフォルトようにあなたがRollingStyleを指定していない:あなたはmaxSizeRollBackupsあたりを得ている理由ですファイルのサイズと日付の両方に基づいてロールファイル

デフォルトの日付ロールオーバーは1日に1回です。

あなただけがアペンダの設定にこれを追加する必要がありますので、サイズではなく日付でロールする

:詳細は、私は疑うconfig examples for RollingFileAppender

+0

にあります

<rollingStyle value="Size" /> 

これはまた、ログファイルが発生します変更する名前.. – stuartd

+0

それは完全に動作します。私が日付パターン()をオーバーライドする前に、この公式の設定が良いです。 –

関連する問題