0

Javaプログラムを実行するためのシェルスクリプトを実行しています。私が渡しているJavaプログラムを呼び出すとき

-Dlog4j.configuration=${SRD_BATCH_HOME}/propertyfile/log4j.properties

プログラムを実行すると、ログの上にこれが表示されます

log4j: Trying to find [/some path/log4j.properties] using context classloader

sun.misc.Launcher $ AppClassLoader@4aad3ba4。log4j:sun.misc.Launcher $ AppClassLoader@4aad3ba4クラスローダーを使用して[/somepath/log4j.properties]を検索しようとしています。log4j:ClassLoader.getSystemResource()を使用して[/some path/log4j.properties]を見つけようとしています。log4j:リソースが見つかりませんでした:[/ somepath/log4j.properties]。

しかし、私のlog4jはこの場所にあります//log4j.properties

Javaプログラムに追加BasicConfigurator.configure()すると、ログの印刷が開始されましたが、プロパティファイルを参照していないため、すべてが印刷されます。誰かがここで何が間違っている可能性があるかを手伝ってもらえますか?

4

1 に答える 1

1

ファイルパスの先頭に「file:/」を追加してみてください

-Dlog4j.configuration=file:/${SRD_BATCH_HOME}/propertyfile/log4j.properties

ここに指定されているように

于 2012-10-05T16:51:38.857 に答える