Q2:設定ファイルを読み込ませるには?

最も簡単な方法は、設定ファイルを log4j.xml または log4j.properties という名前でクラスパスに含ませることです。起動時に引数等で設定ファイルの場所を知らせる必要もないのでお勧めです。

また log4j.configuration システムプロパティの値に設定ファイルの URL を与える方法もあります。この方法を使った例は以下のようになります。

% java -Dlog4j.configuration=file:///c:/temp/log4j.xml ターゲットクラス

log4j.configuration システムプロパティの値には URL を記述するという点に注意して下さい。ローカルのファイルを読み込む場合(この場合がほとんどだと思いますが)は、file:/// で始めます。Unix 系 OS では以下のようになります。

$ java -Dlog4j.configuration=file:///home/foo/log4j.xml ターゲットクラス

Log4j は log4j.configuration システムプロパティが設定されているならばそちらを参照し、設定されていなければ log4j.xml または log4j.properties をクラスパスから検索します。

Web アプリケーションのようにシステム全体ではなく、個々の Web アプリケーション毎に設定を行うケースでは、システムプロパティで無く、設定ファイルをクラスパスに含める方法を選択すべきでしょう。

尚、Tomcatで Log4j の設定ファイルを読み込ませる方法は、こちらを参照して下さい。


トップページへ戻る