- PR -

log4j.xmlを再起動せずに動作させるには

1
投稿者投稿内容
会議室デビュー日: 2007/03/19
投稿数: 1
投稿日時: 2007-03-19 19:12
はじめまして。よろしくお願いします。

log4j について質問です。

下記のサイトを参考にして、Loggingとlog4jを一緒に使う方法で
ログ出力を行っています。
http://www.atmarkit.co.jp/fjava/rensai2/jakarta09/jakarta09.html

--[LogTest.java]----------------------------------------------------------
import org.apache.commons.logging.*;

public class LogTest {
// ログインスタンスを取得
public static Log log = LogFactory.getLog(LogTest.class);
public static void main(String args[]) {
// ログの出力
log.fatal("fatalメッセージ");
LogFactory.releaseAll();
}

}
--[LogTest.java]----------------------------------------------------------

運用上、log4j.xmlの設定を変更したく、
さらに、設定変更後にTomcatの再起動を行わずに
継続してログを出力したいと考えています。

この方法で1点、動作に問題があって困っています。
それは、ログのローテーションだけが上手く動作しないことです。

log4j.xmlの設定を変更後に、そのままログを出力していき、
ローテーションのタイミングで、ローテーションされず、
ログファイルが上書きされてしまいます。

本来なら、aaa.logがaaa.log.1に名前を変えて、
aaa.logはまっさらな状態でログが出力されるはずです。

しかし、現象はaaa.logに書かれていたログがなくなり、
aaa.logはまっさらな状態でログが出力されます。
すなわち、ローテーションされずに1つのファイル上で、
ログを消去→ログの書き込み という現象になっています。

---ローテーション前---
aaa.log

---ローテーション後(理想)---
aaa.log
aaa.log.1

---ローテーション後(現象)---
aaa.log


ちなみに、Tomcatの再起動を行えば、
ローテーションは問題なく動作します。


環境は下記の通りです。
・Windows XP
・Eclipse 2.1
・Tomcat 4.1.31
・jdk 1.3.1_19
・commons-logging-1.1
・jakarta-log4j-1.2.8

よろしくお願いします。


[ メッセージ編集済み 編集者: 桜 編集日時 2007-03-19 22:01 ]
1

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