- PR -

log4jでstderr.logにログが出力される

1
投稿者投稿内容
donburi
会議室デビュー日: 2005/04/13
投稿数: 4
投稿日時: 2005-04-13 14:35
はじめまして。
以下の環境にて、Webアプリの開発を行っていますが、
log4jを使用したログ出力で分からない点があります。

開発環境
----------------
Windows2000Pro
j2sdk1.4.1_02
Apache2.0.52
Tomcat4.1.31
log4j-1.2.9
----------------

log4j 設定ファイル
------------------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j='http://jakarta.apache.org/log4j/'>
<appender name="DAILY" class="org.apache.log4j.DailyRollingFileAppender">
<param name="file" value="C:/Temp/dailylog" />
<param name="DatePattern" value="'.'yyyy-MM-dd" />
<param name="append" value="true" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern"
value="%d{yyyy/MM/dd HH:mm:ss} %-5p [%t] %c (%F:%L) - %m%n" />
</layout>
</appender>
<logger name="test">
<level value="DEBUG" />
<appender-ref ref="DAILY" />
</logger>
</log4j:configuration>
------------------------------------------------------------------------

サーブレットで、以下のようなコードを実行したところ、
---------------------------------------------------------------
package test;

static Logger log = Logger.getLogger(クラス名.class.getName());
log.debug("debug log");
log.info("info log");
log.warn("warn log");
log.error("error log");
log.fatal("fatal log");
---------------------------------------------------------------

"C:/Temp/dailylog"には、以下のように、設定通りログが出力されるのですが、
---------------------------------------------------------------------------------
2005/04/13 14:25:05 DEBUG [Thread-9] test.クラス名 (クラス名.java:49) - debug log
2005/04/13 14:25:05 INFO [Thread-9] test.クラス名 (クラス名.java:50) - info log
2005/04/13 14:25:05 WARN [Thread-9] test.クラス名 (クラス名.java:51) - warn log
2005/04/13 14:25:05 ERROR [Thread-9] test.クラス名 (クラス名.java:52) - error log
2005/04/13 14:25:05 FATAL [Thread-9] test.クラス名 (クラス名.java:53) - fatal log
---------------------------------------------------------------------------------

stderr.log にも以下のようなログが出力されていまいます。
-------------------------------------------------------
3017516 [Thread-9] DEBUG test.クラス名 - debug log
3017516 [Thread-9] INFO test.クラス名 - info log
3017516 [Thread-9] WARN test.クラス名 - warn log
3017516 [Thread-9] ERROR test.クラス名 - error log
3017516 [Thread-9] FATAL test.クラス名 - fatal log
-------------------------------------------------------

このように、設定ファイルで指定したファイル以外にも
ログが出力されてしまうのですが、これは設定に問題があるのでしょうか?
それとも、これは正常な動作なのでしょうか?

また、正常な動作だとすれば、stderr.log への出力は抑制したいのですが、
何か方法がありますでしょうか?

宜しくお願いします。
donburi
会議室デビュー日: 2005/04/13
投稿数: 4
投稿日時: 2005-04-15 23:44
自己レスです。

ひとまず、stderr.logへのログ出力は発生しなくなりました。

以前は、log4j-1.2.9.jar を以下のフォルダに入れておりました。
C:\Program Files\Apache Group\Tomcat4.1\common\lib\

これを以下のように、Webアプリのlibフォルダへ配置することで
問題は解消しました。
\WEB-INF\lib\

ご参考まで。
1

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