- PR -

【log4net】ログのローテート設定について

1
投稿者投稿内容
chloe
会議室デビュー日: 2007/08/16
投稿数: 5
投稿日時: 2008-08-20 10:40
Visual Studio 2005 (C#) + log4netでログの出力を行っています。
app.configには

--
<log4net>
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<param name="File" value="logs/" />
<param name="AppendToFile" value="true" />
<param name="MaxSizeRollBackups" value="10" />
<param name="MaximumFileSize" value="100KB" />
<param name="RollingStyle" value="date" />
<param name="StaticLogFileName" value="false" />
<param name="DatePattern" value='""yyyy-MM-dd".log"' />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%d [%t] %-5p %c %M [%x] - %m%n" />
</layout>
</appender>

<root>
<level value="DEBUG" />
<appender-ref ref="RollingLogFileAppender" />
</root>
</log4net>
--

という設定を行っております。
ローカル環境(WindowsXP SP2)では

「logs/yyyy-MM-dd.log」

の形式で正常に追記出力できているののですが、本番環境(Windows 2003 Server SP2)では

「logs/yyyy-MM-dd.log」
「logs/yyyy-MM-dd.logyyyy-MM-dd.log」
「logs/yyyy-MM-dd.logyyyy-MM-dd.logyyyy-MM-dd.log」
「logs/yyyy-MM-dd.logyyyy-MM-dd.logyyyy-MM-dd.logyyyy-MM-dd.log」・・・

という形で複数のログファイルが作成されてしまいます。
ローカル環境で出力できているので記述には問題ないと思っていたのですが・・・
どなたかご指摘頂けませんでしょうか?
mio
ぬし
会議室デビュー日: 2005/08/25
投稿数: 734
お住まい・勤務地: 神奈川県
投稿日時: 2008-08-20 10:58
詳しくはないので的はずれかもしれませんが。

>value='""yyyy-MM-dd".log"'

クォーテーションがたくさんあるのが気になります。
chloe
会議室デビュー日: 2007/08/16
投稿数: 5
投稿日時: 2008-08-21 18:02
>> value='""yyyy-MM-dd".log"'
> クォーテーションがたくさんあるのが気になります。

「value='"yyyy-MM-dd".log'」だとログファイルは作成されませんので、
上記の記述内容で(多分)間違ってはいないようです。

書き方自体は
http://www.ailight.jp/blog/koido/archive/2005/03/09/4871.aspx
を参考にしたのですが、
「value='"yyyy-MM-dd".log'」
「value='""yyyy"-"MM"-"dd".log"'」
のどちらの記述方法でも、同じ形式(yyyy-MM-dd.log)のログファイルが作成されました。
kiyokura
ベテラン
会議室デビュー日: 2007/08/08
投稿数: 69
お住まい・勤務地: 岡山
投稿日時: 2008-08-21 21:02
ひょっとして、プロセスが同時に複数上がってるとか、プロセスが正常に終了していないとか無いですか?

詳しく検証したわけではないのですが、プロセスがゾンビ状態の時に別プロセスを起こしたりして、そんな感じになった事があるような記憶があります。
chloe
会議室デビュー日: 2007/08/16
投稿数: 5
投稿日時: 2008-08-22 09:09
> ひょっとして、プロセスが同時に複数上がってるとか、プロセスが正常に終了していないとか無いですか?
>
> 詳しく検証したわけではないのですが、プロセスがゾンビ状態の時に別プロセスを起こしたりして、そんな感じになった事があるような記憶があります。

MetaFrameで分散稼動しているので、その可能性は高いです。
SQL Serverなど、テキスト以外にログ出力することも含めて運用を考えてみたいと思います。
ありがとうございました。>コメントして下さった方々
1

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