2012-02-09 1 views
1

log4net.configは以下のようになります。
ログファイルを毎日新しいファイルに移動するだけです。しかし、それは1日に何度も転がりました。拡張子は.1.2.3 ...
ログファイルはファイルサイズが小さくて済むようにいくつかログをとります。通常、私は1日に100行以上のログを持っていません。 「KB」、「MB」または「GB」:log4netは.1 .2 .3ファイルをたくさん残します

<appender name="DebugRollingFile" type="log4net.Appender.RollingFileAppender,log4net"> 
    <param name="File" value="D:\\log\\hdpca.bill.debug.log" /> 
    <param name="AppendToFile" value="false" /> 
    <param name="RollingStyle" value="Date" /> 
    <param name="StaticLogFileName" value="true" /> 
    <param name="MaxFileSize" value="10240" /> 
    <param name="MaxSizeRollBackups" value="100" /> 
    <param name="DatePattern" value="yyyyMMdd&quot;.log&quot;" /> 
    <layout type="log4net.Layout.PatternLayout"> 
    <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" /> 
    <param name="Header" value="&#13;&#10;----------------------header--------------------------&#13;&#10;" /> 
    <param name="Footer" value="&#13;&#10;----------------------footer--------------------------&#13;&#10;" /> 
    </layout> 
    <filter type="log4net.Filter.LevelRangeFilter"> 
    <param name="LevelMin" value="DEBUG" /> 
    <param name="LevelMax" value="DEBUG" /> 
    </filter> 
</appender> 
+0

何を修正しようとしましたか?ファイルアペンダーをローリングするためのドキュメントを読んだことがありますか? –

+0

このログを日付でロールする場合、なぜMaxFileSizeを指定していますか? – gregwhitaker

答えて

2

あなたはにappendToFileを設定する必要があります。それ以外の場合は、ログファイルを上書きします。

指定した他の属性にもいくつかの問題があります。ログを日付でロールしたい場合、MaxFileSizeを削除する必要があります。ログを日付順に転記するときは、MaxSizeRollBackupsを指定することはできません。設定の下に設定を与えます。あなたの問題を解決するはずです。

だから、要するに:

  1. appendToFile =真
  2. "の.log" ファイルから属性を削除し
  3. をMaxSizeRollBackupsを削除するのMaxFileSize
  4. 削除し、(この意志をDatePatternの1を残します.log {date} .logではないことを確認してください。

サンプル構成配給:

<appender name="DebugRollingFile" type="log4net.Appender.RollingFileAppender"> 
    <file value="D:\\log\\hdpca.bill.debug"/> 
    <appendToFile value="true"/> 
    <rollingStyle value="Date"/> 
    <datePattern value="yyyyMMdd.lo\g" /> 
    <layout type="log4net.Layout.PatternLayout"> 
     <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n" /> 
     <param name="Header" value="&#13;&#10;----------------------header--------------------------&#13;&#10;" /> 
     <param name="Footer" value="&#13;&#10;----------------------footer--------------------------&#13;&#10;" /> 
    </layout> 
    <filter type="log4net.Filter.LevelRangeFilter"> 
     <param name="LevelMin" value="DEBUG" /> 
     <param name="LevelMax" value="DEBUG" /> 
    </filter> 
</appender> 
+0

私はこれを試しています。 ''の\は何のためですか?最初は間違って入力したと思っていましたが、あなたが正しいと分かりました。 – hbrls

+0

gは日付パターンの特殊文字であるため、\はgをエスケープします。これは、yyyyMMdd'.log 'のように.logを引用するのと同じです。 – gregwhitaker

-1

は、私はそれはあなたがsuffixesを使用することができるため'MaximumFileSize'代わりの'MaxFileSize'プロパティを使用することをお勧めします。

<maximumFileSize value="10MB" /> 

あなたの構成は10キロバイト(本当に多くありません)にファイルサイズを設定します。

更新: 多分あなたの日付パターンが問題です。そこにエスケープシーケンスがあるのが良いのかどうかはわかりません。代わりにこれを試してみてください:

<datePattern value="yyyyMMdd'.log'" /> 

あるいは

<datePattern value="yyyyMMdd" /> 
+0

私はそれを試みます。しかし、.1 .2ファイルは10KBに達しませんでした。 – hbrls

関連する問題