log4jを正しく実行するには、JVMに引数として設定/渡す必要のある変数は何ですか?そして、適切に私は文句を言わず、コンソールに印刷しないことを意味します。典型的な例を見ることができますか?
注:アプリケーションでlog4j.propertiesファイルを作成しないようにする必要があります。
log4j構成ファイルはありますか?を使用して参照するだけです
-Dlog4j.configuration={path to file}
ここで、{ファイルへのパス}の前にプレフィックスを付ける必要がありますfile:
編集: log4j2を使用している場合は、次を使用する必要があります
-Dlog4j.configurationFile={path to file}
解決策は、次の JVM 引数を使用することです。
-Dlog4j.configuration={path to file}
ファイルがクラスパス ( WEB-INF/classes
Tomcat の場合) ではなく、ディスク上のどこかにある場合は、次file:
のように使用します。
-Dlog4j.configuration=file:C:\Users\me\log4j.xml
これは(おそらくlog4j2で)次のように変更されたようです:
-Dlog4j.configurationFile=file:C:\Users\me\log4j.xml
参照: https://logging.apache.org/log4j/2.x/manual/configuration.html
私はこれがすでに答えられていることを知っています、しかしあなたが言ったので、これはあなたが探しているものではないので、私は次の選択肢を指摘したいと思います:
プロパティまたはxmlファイルの代わりに構成クラスを使用することもできます。
-Dlog4j.configuratorClass=com.foo.BarConfigurator
詳細については、 http://logging.apache.org/log4j/1.2/manual.htmlを参照してください。
一般に、log4j.propertiesファイルがクラスパス上にある限り、Log4jはJVMの起動時に自動的にそれを取得する必要があります。