- - PR -
(log4j)ログが違う時間帯のファイルに出力されてしまいます
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2006-08-01 20:48
初めて質問いたします。
以下、長文となりますが、log4jのDailyRollingFileAppenderによるログ出力の 振る舞いについて、みなさまのお知恵をお借りしたく、どうぞよろしくお願いいたします。 *−−−−−−−−−−−−* [利用環境] OS :Windows2003Server log4j:1.2.9 WAS :WebLogic8.1J SP4(毎朝6時に再起動) *−−−−−−−−−−−−* アクセスログをlog4jのDailyRollingFileAppenderで出力しています(yyyy-MM-dd-HH)。 その際に、まれになのですが、WebLogicを再起動する6時のログファイルに、前日の アクセスログが出力されることがあります。 ※つまり、log4j_access.log.2006-07-26-06の中身を見ると 2006-07-25 19:10:04 2006-07-25 19:10:27 というように、違う時間帯のログだけが出力されています。 過去の投稿から、「WebLogic再起動によってJVMが前のログ出力時間をもっていない」 ために変な振る舞いになっているのかとも考えたのですが、それですと現象がまれにしか 発生しない理由がよくわかりません。 回避策がありましたら、教えていただけませんでしょうか。 <補足> 6時のログファイルの更新日時は2006年7月26日6:00:00となっているのですが、6時台の アクセスは一切ないため、6時台のアクセスログは出力されていません。 (log4j_access.log.2006-07-26-08の更新日時が、2006年7月26日9:20:22に なっていたこともあるが、ほとんどはファイル内の最終行ログの時間が更新日) 可能性としては、log4jのバッファリング? しかし、log4jはデフォルトでバッファリングせずにログ出力されますよね…。 log4j.propertiesの設定は、下記の通りです。 −−−−−−−−−−−− # appender Accessを加えます。 log4j.category.common.filter.AccessLoggingFilter=INFO, Access # Access にDailyRollingFileAppenderをセットします log4j.appender.Access=org.apache.log4j.DailyRollingFileAppender # Access に出力先をセットします log4j.appender.Access.File=C:\\WebModule2\\Log\\Log4j\\log4j_access.log # Access にログローテーション形式をセットします(時間単位) log4j.appender.Access.DatePattern = '.'yyyy-MM-dd-HH # Access は、PatternLayout を使用します。 log4j.appender.Access.layout=org.apache.log4j.PatternLayout log4j.appender.Access.layout.ConversionPattern=%-4r %d [%t] %-5p %c %x - %m%n −−−−−−−−−−−− どうぞ、よろしくお願いいたします。 [ メッセージ編集済み 編集者: B2 編集日時 2006-08-01 20:49 ] [ メッセージ編集済み 編集者: B2 編集日時 2006-08-01 20:51 ] |
1