C#で記述されたWindowsサービスプログラムでlog4netRollingFileAppenderを使用しています。ログディレクトリ内のファイルの数とサイズが急速に増加しているため、クリーンアップが必要です。構成は次のとおりです。
<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で利用できない場合、どのような解決策がありますか?
前もって感謝します。
ここから別の質問がありますSO本質的に同じことを尋ねます: Log4Net:RollingFileAppenderに最大バックアップファイルをローリング日付で設定します
コンセンサスは、log4netがそれを直接サポートしていないというものでした。あるポスターによると、log4netのソースコードリポジトリに実装されていますが、まだリリースされていません。別のポスターは、彼が古いファイルを定期的にクリーンアップするために使用するコードを示しています。
確認はできませんが、既存のアペンダーではできないと確信しています。
ただし、次の2つのオプションがあります。