Log4Net はログファイルを自動的に削除できますか? [重複] 質問する

Log4Net はログファイルを自動的に削除できますか? [重複] 質問する

私は C# で書かれた Windows サービス プログラムで log4net RollingFileAppender を使用しています。ログ ディレクトリ内のファイルの数とサイズが急速に増加しているため、クリーンアップが必要です。構成は次のとおりです。

<appender name="Rolling Log" type="log4net.Appender.RollingFileAppender">
<file value="..\logs\MyProgram.%cs{instanceName}.log" />
<appendToFile value="true" />
<rollingStyle value="Composite" />
<datePattern value=".yyyy-MM-dd.lo\g" />
<maxSizeRollBackups value="10" />
<maximumFileSize value="150MB" />
<layout type="log4net.Layout.PatternLayout">
  <conversionPattern value="%date [%-5level] %property{remoteUser} [%threadIdentity] %type{1}.%method - %message%newline%exception" />
</layout>

ログは 30 日間だけ保存したいのですが、log4net を設定してログを自動的に削除するにはどうすればよいでしょうか。log4net でそれができない場合、どのような解決策がありますか。

よろしくお願いします。

ベストアンサー1

SO のここからの別の質問は、基本的に同じことを尋ねています。Log4Net: RollingFileAppender でローリング日付を使用して最大バックアップ ファイルを設定する

log4net はこれを直接サポートしていないというのがコンセンサスでした。ある投稿者は、これは log4net のソース コード リポジトリに実装されているが、まだリリースされていないと述べています。別の投稿者は、古いファイルを定期的にクリーンアップするために使用するコードをいくつか示しています。

おすすめ記事