- PR -

log4netで1週間分のログを世代管理する方法

1
投稿者投稿内容
未記入
会議室デビュー日: 2005/06/27
投稿数: 13
投稿日時: 2008-10-17 10:47
いつも参考にさせていただいてます。

当方ASP.NET Webアプリケーションのログ出力にlog4netを使用しています。
(FrameWork2.0、C#)

これまでログの出力設定を1MBごと、最大10ファイルの設定で使用していたのですが、
これを日付ごと、最大7ファイル(つまり、1週間分)に変更したいと考えてます。

log4netの設定ファイルを変更し、日付毎に出力することは出来たのですが、
世代管理が上手く出来ていません。
ログを1週間分保持する設定をご存知の方、ご教授下さい。

以下、現在の設定です。
//----------------------------------------------------------------//
<?xml version="1.0" encoding="utf-8" ?>
<log4net>
<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">
<param name="File" value="../log/WebApp.log" />
<param name="AppendToFile" value="true" />
<param name="RollingStyle" value="Date" />
<param name="MaxSizeRollBackups" value="7" />
<param name="StaticLogFileName" value="true" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%d %-13c %-5p %m%n" />
</layout>
</appender>
<appender name="EventLogAppender" type="log4net.Appender.EventLogAppender">
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%d %-13c %-5p %m%n" />
</layout>
</appender>
<logger name="ServiceAction">
<level value="INFO" />
<appender-ref ref="RollingFileAppender" />
</logger>
<logger name="RunAction">
<level value="INFO" />
<appender-ref ref="RollingFileAppender" />
</logger>
<logger name="Warning">
<level value="INFO" />
<appender-ref ref="RollingFileAppender" />
</logger>
<logger name="SystemError">
<level value="INFO" />
<appender-ref ref="RollingFileAppender" />
</logger>
<logger name="FatalError">
<level value="INFO" />
<appender-ref ref="RollingFileAppender" />
</logger>
</log4net>
//----------------------------------------------------------------//
mio
ぬし
会議室デビュー日: 2005/08/25
投稿数: 734
お住まい・勤務地: 神奈川県
投稿日時: 2008-10-17 11:38
DailyRollingFileAppenderではどうでしょう。
未記入
会議室デビュー日: 2005/06/27
投稿数: 13
投稿日時: 2008-10-17 14:28
DailyRollingFileAppenderは、log4jのプロパティでlog4netでは使用できないようです。

<param name="RollingStyle" value="Date" />で同様の機能が実現できるようなのですが、世代管理が上手く出来ませんでした。
1

スキルアップ/キャリアアップ(JOB@IT)