2016-07-12 13 views
0

In einer Springboot-Anwendung habe ich ein einzelnes jar, und dann ein Unterverzeichnis config mit application.properties, applicationContext.xml und log4j ... Eigenschaftendatei.Springboot externalizing log4j Konfiguration

Ich versuche, die Log4j-Konfiguration zu externalisieren. Die application.properties wird auf diese Weise externalisiert.

Aber wenn Springboot läuft, verwendet es die Log4j-Konfigurationsdatei aus der JAR-Datei. Durch die Verwendung der Option -Dlog4j.debug kann ich sehen, dass log4j zuerst meine externe Datei verwendet, aber wenn es gestartet wird, überschreibt es die log4j-Einstellung mit der im jar.

hier ist ein Beispiel Start (mit allen Optionen)

java -Dlog4j.debug 
    -Dlogging.config="file:/opt/config/log4j-qa.properties" 
    -Dlog4j.configuration="file:/opt/config/log4j-qa.properties" 
    -jar /opt/myjarName.jar 
    --spring.config.location=/opt/config/ 

beim ersten Start log4j heißt log4j: Konfiguration von URL-Datei lesen: /opt/config/log4j-qa.properties

dann auf springboot starten log4j: Lesen Konfiguration von URL jar: file: /opt/dms-events-api.jar /log4j-qa.properties

aber ich will es nur die externe Datei Datei lesen: /opt/config/log4j-qa.properties

Antwort

0

Auflösung:

In unserer Anwendung, die wir hatten Linie @ImportResource ("Classpath: applicationContext.xml „) , die dann die log4j definierten Eigenschaften aus der classpath-Datei:

die einfache Lösung 1. erstellen Sie ein Verzeichnis/config an der Wurzel der api Anwendung und legen Sie die Eigenschaften Dateien dort 2. ImportResource Linie entfernen, es wird jetzt nicht benötigt 3. fügen Sie eine Zeile zu den Appli hinzu cation.properties Datei logging.config = file: config/log4j - $ {unserer Umwelt var} a/config an der Wurzel des Projekts arbeiten dann in Eclipse können wir .properties

die Erklärung Durch die Schaffung als üblich und finden Sie unsere Eigenschaftendateien. --und dann extern configs einfach ein config-Verzeichnis von wo die Anwendung jar ist hinzufügen und Eigenschaften Dateien dort.

Verwandte Themen