2017-06-21 21 views
0

私は何か愚かなことをする必要がありますが、私はそれを考えることができません(私は私の問題の核心は、PatternStringが動的ではなく、プログラムの開始時に一度設定されると信じています)。ここに私のlognet.configファイルは次のとおりです。ファイルの日付が回転しないのはなぜですか?

<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender"> 
     <file type="log4net.Util.PatternString" value="F:\Logs\MonitorService_%date{yyyyMMdd}.log" /> 
     <appendToFile value="true" /> 
     <rollingStyle value="Composite" /> 
     <datePattern value="yyyyMMdd" /> 
     <maxSizeRollBackups value="5" /> 
     <maximumFileSize value="3000MB" /> 
     <filter type="log4net.Filter.LevelRangeFilter"> 
     <levelMin value="DEBUG" /> 
     <levelMax value="FATAL" /> 
     </filter> 
     <layout type="log4net.Layout.PatternLayout"> 
     <param name="ConversionPattern" value="%d [%t] %-5p %c :: %m%n" /> 
     </layout> 
    </appender> 

ファイルがめちゃくちゃ的に出てきているようにように思え:私は次のように彼らが出てくるしたい

F:\Logs\MonitorService_20170212.log 
F:\Logs\MonitorService_20170212.log20170613 
F:\Logs\MonitorService_20170212.log20170614 

彼らはその日から今日まで転がるとき:

F:\Logs\MonitorService_20170612.log 
F:\Logs\MonitorService_20170613.log 
F:\Logs\MonitorService_20170614.log 

私は間違って何をしていますか?

答えて

1

file要素のvalueに日付を入力する必要はありません。 datePattern要素は、新しいログファイルが作成されたときにログファイルに適用されるサフィックスを決定します。現在のログファイルが「MonitorService」とそれが上の巻かれたときに、ファイルの名前が変更されます「MonitorService_20170622」と「MonitorService」と呼ばれる新しいファイルと呼ばれます。ここ

<file type="log4net.Util.PatternString" value="F:\Logs\MonitorService" /> 
<datePattern value="_yyyyMMdd" /> 

、新しいログメッセージを格納するために作成されます。

+0

ファイル名に ".log"の拡張子を付ける方法はありますか? – Denis

関連する問題