2011-08-10 log4jではまったのでメモしておく Java ライブラリ 昨日もlog4jについて書いたばかりだが、使ってみて早速はまったのでメモしておく。 自前の log4j.properties が読み込まれない 現象 クラスパスの先頭に同ファイルを配置してもなお読み込まれない。 原因 - log4jの設定ファイルを含んでいる jar をクラスパスに含めていた - その設定ファイルは log4j.xml であった 以前の日記で記載したように、log4jの設定ファイルはpropertiesよりもxmlが優先される。 対応 - 案1: 必須でない jar であれば、クラスパスから外してやる - 案2: 自前の設定ファイルをxml形式に書き換える log4j.properties 内で環境変数を参照できない 現象 ${変数名}で環境変数を参照できると聞いたのでやってみたが、空文字になってしまう。 環境変数の export もしてみたがかわらず。 原因 どうやら、参照できるのは環境変数ではくJavaのシステムプロパティであったようだ。 対応 javaコマンドのオプションに -D変数名=値 を指定したところ、変数を参照できた。 よって、環境変数を参照したいときは -D変数名=${環境変数名} としてやればよい。