wake-up-neo.com

log4j-Konfiguration über JVM-Argument (e)?

Welche Variablen muss ich als Argumente an die JVM setzen/übergeben, damit log4j ordnungsgemäß ausgeführt wird? Und mit richtig meine ich nicht beschweren und auf die Konsole drucken. Kann ich ein typisches Beispiel sehen?

Hinweis: Ich muss vermeiden, eine log4j.properties-Datei in der Anwendung zu erstellen.

116
jconlin

Haben Sie eine log4j-Konfigurationsdatei? Verweise es einfach mit 

-Dlog4j.configuration={path to file}

wo {Pfad zur Datei} sollte file: vorangestellt werden

145
Brian Agnew

Die Lösung verwendet das folgende JVM-Argument:

-Dlog4j.configuration={path to file}

Befindet sich die Datei NICHT im Klassenpfad (in WEB-INF/classes bei Tomcat), aber irgendwo auf Ihrer Festplatte, verwenden Sie file: wie

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

Weitere Informationen und Beispiele hier: http://logging.Apache.org/log4j/1.2/manual.html

152
30thh

Dies scheint sich (wahrscheinlich mit log4j2) geändert zu haben:

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

Siehe: https://logging.Apache.org/log4j/2.x/manual/configuration.html

22
D. L.

Ich weiß, dass dies bereits beantwortet wurde, aber da Sie sagten, dies ist nicht genau das, wonach Sie suchen, möchte ich auf die folgende Alternative hinweisen:

Sie können auch eine Konfigurationsklasse anstelle der Eigenschaften oder der XML-Datei verwenden.

-Dlog4j.configuratorClass=com.foo.BarConfigurator

Weitere Informationen finden Sie unter http://logging.Apache.org/log4j/1.2/manual.html .

20
Tim Büthe

Solange sich Ihre Datei "log4j.properties" im Klassenpfad befindet, sollte Log4j sie beim Start der JVM normalerweise automatisch abholen. 

11
Natalia

Log4J 1.x hat zu spät auf die Party gekommen, da seit 2015 EOL erreicht wurde.

Log4J 2.x oder höher die JVM-Option sollte -Dlog4j.configurationFile=<filename> sein


P.S. <filename> könnte eine Datei sein, die relativ zum Klassenpfad ist, ohne den file:, wie in den anderen Antworten vorgeschlagen.

6
Vineet Menon

Relativer Pfad ist auch ok: 

Java -Dlog4j.configuration=file:".\log4j.properties" -jar com.your-1.0-SNAPSHOT.jar

oder 

Java -Dlog4j.configuration=file:".\log4j.xml" -jar com.your-1.0-SNAPSHOT.jar
0
ridox