- PR -

Log4jを追加すると、Eclipseのコンソールにログが出力されない。

1
投稿者投稿内容
どんたくお
ベテラン
会議室デビュー日: 2005/08/29
投稿数: 88
投稿日時: 2006-02-26 21:02
みなさん、こんばんは。
どんたくおです。

以下の環境で開発を行っております。
JDK:1.4
Tomcat:5.0.28
Eclipse:3
Eclipse Tomcat plugin

この環境にLog4jを追加しました。
/WEB-INF/log4j-1.2.12.jar

ログの出力は、jakarta-commonsのloggingで行ってきました。

Log4jの導入前にEclipseからTomcatを起動して、
コード:
public class Hoge {
	private Log log = Logfactory.getLog(this.getClass());
	
	public Hoge() {
		log.info("ほげなクラスのインスタンスが生成されました。");
	}
}


そうしまして、

コード:
	Hoge h = new Hoge();


とかすると、Eclipseコンソールに
情報:ほげなクラスのインスタンスが生成されました
とか表示されたのですが、Log4jを追加したあと、Log#infoなどとしても
Eclipseのコンソールには何も表示されません。
ためしに、
適当なクラスで、System.out.println("てすと");
とすると、コンソールに表示されます。

素人的な感覚で大変もうしわけないのですが、Log4jをクラスパスに
追加したことで、Logの出力先がSystem.outからどこか違うところに
変更されたのではないかと思っております。

Log4jをクラスパスに追加した場合でも、EclipseのコンソールにLog
の情報を表示させることは可能でしょうか。


すみませんが、ご教授いただけるとさいわいです。
K
大ベテラン
会議室デビュー日: 2004/04/07
投稿数: 174
投稿日時: 2006-02-27 00:05
log4j.propertiesの設定はどうなっていますか?
ConsoleAppenderの記述があればEclipseのコンソールにもログの出力がされるはずです
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2006-02-27 00:10
Commons Loggingは特に設定をしていない場合、
アダプタが提供可能なライブラリを検索して、
見つかったものから使用します。
複数見つかれば、Log4Jが最優先だったような気がしますが。

で、Log4jの設定は有効になっていますか?
System.errに設定情報が読み取れない趣旨のエラーが出ていませんか?
それか、Log4jのINFOレベルが無効になっている場合も考えられます。
その場合は、log.isInfoEnabled()メソッドで、
対象のログレベルが利用可能であるか取得できます。
まずは、確認してみてはいかがでしょうか。
はしもと
大ベテラン
会議室デビュー日: 2003/02/05
投稿数: 182
投稿日時: 2006-03-01 00:04
Log4J を使うには commons-logging-api.jar ではなく
commons-logging.jar が必要です。
どんたくお
ベテラン
会議室デビュー日: 2005/08/29
投稿数: 88
投稿日時: 2006-03-03 16:04
ご返信が遅くなりまして、すみません。

大変すみませんでした。
/WEB-INF/conf/log4j.properties

という設定にしておりまして、違うJAVAアプリケーションから
/WEB-INF/conf/log4j.properties
を参照するようにしていました。

classes以下に配置しましたところ、うまく動作しました。

プロパティファイルが2つできてしまうので、メンテナンス性は
下がりますが、取り急ぎこれにて運用させていただこうと思い
ます。


みなさまありがとうございました。
1

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