1

私は1つのWindowsサービスを持っています。そのサービスでログを記録するために、Log4Net.dll を使用しています。私の要件は、毎日新しいログ ファイルを作成し、過去 7 日間のログのみを保持する必要があるということです。つまり、8 日目には、1 日目のファイルを削除し、新しいファイルを使用する必要があります。私はアペンダーを次のように使用しています:

 <appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender">
    <file type="log4net.Util.PatternString" value="D:\Log\%property{LogName}" />
     <AppendToFile value="true" />
     <rollingStyle value="Date" />      
     <maxSizeRollBackups value="100" />       
     <staticLogFileName value="false" />
     <layout type="log4net.Layout.PatternLayout">
       <conversionPattern value="%newline %date %-5level %C.%M() - %message" />
     </layout>
 </appender>

サービスの起動時に、ロガーを次のように構成しています。

log4net.GlobalContext.Properties["LogName"] = "App_" + DateTime.Now.ToString("MMddyyyy") + ".log";
log4net.Config.XmlConfigurator.Configure();   

上記の機能を実現する Log4Net の機能はありますか? または、それを行う他の方法はありますか?あらゆる種類のヘルプをいただければ幸いです。

4

1 に答える 1

1

残念ながらできません: RollingFileAppender クラス

日付/時刻の境界でローリングする場合のバックアップ ファイルの最大数はサポートされていません

他の提案については、このスレッドをご覧ください: Log4Net: ローリング日付で RollingFileAppender の最大バックアップ ファイルを設定します。

ログファイルを毎日実装するには、次を使用します。

<rollingStyle value="Date" />
<datePattern value="yyyyMMdd" />
于 2013-07-10T07:28:49.263 に答える