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