146

log4jを正しく実行するには、JVMに引数として設定/渡す必要のある変数は何ですか?そして、適切に私は文句を言わず、コンソールに印刷しないことを意味します。典型的な例を見ることができますか?

注:アプリケーションでlog4j.propertiesファイルを作成しないようにする必要があります。

4

8 に答える 8

180

log4j構成ファイルはありますか?を使用して参照するだけです

-Dlog4j.configuration={path to file}

ここで、{ファイルへのパス}の前にプレフィックスを付ける必要がありますfile:

編集: log4j2を使用している場合は、次を使用する必要があります

-Dlog4j.configurationFile={path to file}

回答https://stackoverflow.com/a/34001970/552525から取得

于 2009-04-22T20:03:26.533 に答える
168

解決策は、次の JVM 引数を使用することです。

-Dlog4j.configuration={path to file}

ファイルがクラスパス ( WEB-INF/classesTomcat の場合) ではなく、ディスク上のどこかにある場合は、次file:のように使用します。

-Dlog4j.configuration=file:C:\Users\me\log4j.xml

詳細と例はこちら: http://logging.apache.org/log4j/1.2/manual.html

于 2011-10-28T09:12:26.297 に答える
44

これは(おそらくlog4j2で)次のように変更されたようです:

-Dlog4j.configurationFile=file:C:\Users\me\log4j.xml

参照: https://logging.apache.org/log4j/2.x/manual/configuration.html

于 2015-11-30T15:23:30.393 に答える
21

私はこれがすでに答えられていることを知っています、しかしあなたが言ったので、これはあなたが探しているものではないので、私は次の選択肢を指摘したいと思います:

プロパティまたはxmlファイルの代わりに構成クラスを使用することもできます。

-Dlog4j.configuratorClass=com.foo.BarConfigurator

詳細については、 http://logging.apache.org/log4j/1.2/manual.htmlを参照してください。

于 2010-02-15T09:17:26.807 に答える
11

一般に、log4j.propertiesファイルがクラスパス上にある限り、Log4jはJVMの起動時に自動的にそれを取得する必要があります。

于 2009-04-23T03:03:43.620 に答える