0

apache log4j からかなり奇妙な動作を観察し、考えを共有して考えを取得しました。

スクリプトを使用して実行しているアプリケーションがあります。これまでのところ、それについて特別なことは何もありません。しかし、そのスクリプトを使用して設定している CLASSPATH 、たとえばディレクトリ/home/myName/には、2 つの異なる log4j プロパティ ファイルがあります。1 つは単にlog4j.propertiesで、もう1 つはlog4jXYZ.prpertiesです。

奇妙なことに、このスクリプトを別のディレクトリから実行すると、いずれかの log4j プロパティ ファイルが取得されます。私の理解では、スクリプトを実行する場所に関係なく、明らかに log4j.properties を選択する必要がありました。

それを理解できる論理が見えますか。現在、私は途方に暮れています。

私が予測できることは、log4j が lo4j*.properties 式に一致するファイルを試行していることです。log4j を支援するすべてのマニュアルを読んでいないことを認めなければなりません。

4

1 に答える 1

1

log4j.debug プロパティを追加します。アプリケーションを実行すると ( -Dlog4j.debug=java コマンドの場合)、構成ファイルのロード元のパスが表示されます。

あなたが思っているよりも、別のディレクトリから同じ名前のファイルをロードする可能性があると思います。

于 2012-12-14T14:50:16.437 に答える