- PR -

log4jでログファイルのバックアップを取りたいです.

1
投稿者投稿内容
タンちゃん
会議室デビュー日: 2004/04/02
投稿数: 19
投稿日時: 2004-04-15 23:22
皆さんこんばんは!

みなさんの知恵を借りたいと思います.

現在Webアプリを開発してますが、問題が発生しました.

問題:Log4JのDailyRollingFileAppenderを使って、日付つきのバックアップファイルを保存しようとしているが、
   バックアップファイル作成できない.
   TomcatでDailyRollingFileAppenderを使って日付付きのログファイルを残したいです〜〜

環境
OS:Windows Server2000 sp3
JDK:1.4.2_04
Tomcat:4.1.18
struts:1.02
Log4J:1.2.7

log4j.propertiesファイルはWEB-INF/classesにあって、
Tomcatを起動する時サーブレットを使ってweb.xmlを読み込んで
log4j.propertiesを設定してます.


Log4Jを使って別の場所にログファイルを出力しています.
1週間分のログファイルだけを残して、その以前のログファイルを削除しようとしています.
それで、バックアップファイルとして日付をつけてくれるDailyRollingFileAppenderを使ってますが…

例)ログファイル名:test、バックアップファイル名:test.2004-04-15

それで、Tomcatを起動してアプリを操作したら、testファイルの作成(2004-04-15の操作内容)は問題ないです.
で、マシンのシステム時刻を2004-04-16に変更して、またアプリを操作したら、
testファイルが空っぽになって、2004-04-16の操作内容が書き込まれます.
それで、期待していたtest.2004-04-15のファイルは作成されません.

Tomcatのlogsフォルダにあるstderr.logファイルには
log4j:ERROR Failed to rename [test] --> [test.2004-04-15]

のエラーログが書いてあります.

このエラーに関してあちこち探してみましたが、見つかりませんでした.

この問題を解決する方法はないんでしょうか?

李敬浩
佐々木
大ベテラン
会議室デビュー日: 2003/03/30
投稿数: 121
投稿日時: 2004-04-16 11:24
差し支えなければ、

  • Tomcatのインストール場所
  • log4j.propertiesの内容

を、教えてください。

# ひょっとして、二つ以上のAppenderで同じファイルに書き込んでませんか?
タンちゃん
会議室デビュー日: 2004/04/02
投稿数: 19
投稿日時: 2004-04-16 12:51
返答ありがとう御座います.

問題は解決できました.

原因はlog4j-1.2.7.jarファイルの置く場所でした.

問題(?日付付きのバックアップファイルを作れない)が有ったときには

アプリ\WEB-INF\lib\にlog4j-1.2.7.jarファイルを置きましたが、

%TOMCAT_HOME%\shared\lib\に置いて各アプリに保存されているlog4j-1.2.7.jarファイルを

削除しました.

ソースは修正しなくて、log4j-1.2.7.jarファイルだけ運んで直りました.

以上です.

李敬浩
1

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