logback Externalisierung
Derzeit habe ich logback Konfigurationsdatei ich.e logback.xml
die src/main/resources
. Ich will den Protokolliergrad festlegen, aber ich will Kontrolle außerhalb des Krieges.
Einer Lösung, die ich denken konnte, zu externalisieren es in der properties-Datei, laden Sie Sie auf server starten und ersetzen Sie den Platzhalter. Gibt es einen besseren Weg, es zu tun ? Können wir nicht halten logback.xml
außerhalb des Krieges Datei ?
<configuration>
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${catalina.base}/logs/logFile.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!-- daily rollover -->
<fileNamePattern>logFile.%d{yyyy-MM-dd}.log</fileNamePattern>
<!-- keep 7 days' worth of history -->
<maxHistory>7</maxHistory>
</rollingPolicy>
<encoder>
<pattern>%date [%thread] %-5level %logger{35} - %msg%n</pattern>
</encoder>
</appender>
<root level="DEBUG">
<appender-ref ref="FILE"/>
</root>
- Haben Sie versucht, die Einstellung dieser Eigenschaft: logback.qos.ch/manual/configuration.html#configFileProperty?
- Ich habe versucht, durch eine system-Eigenschaft logback.die Konfigurationsfiles und logaback Datei Weg, aber es muss nicht alles loggen, was es scheint, es ist noch nicht zu erkennen, die logback Konfigurationsdatei
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie nur wollen, ändern Sie die log-Stufe, die Sie nicht benötigen, überschreiben Sie die ganze Datei haben, können Sie dies tun:
Dann, wenn Sie die system-Immobilie:
Überschreibt er den Standardwert von 'INFO'.
"-Dlog.level=DEBUG"
. Siehe: stackoverflow.com/a/1520376/1199132Ich schlage vor, Sie verwenden 2 logback-Konfiguration-Dateien.
Der erste im classpath definiert als:
und setzen Sie die gesamte Konfiguration in die andere.
Logback wird Scannen Sie die beiden Dateien für die updates.
Externe Eigenschaften ist eine Möglichkeit der Steuerung der Protokollierung Ebene nach außen. Logback ist file inclusion Funktion ist eine andere. Durch die Art und Weise, die auto-reload feature funktioniert für die im Lieferumfang enthaltene Konfigurations-Dateien, aber nicht die properties-Dateien.
Habe ich endlich eine externe Konfigurationsdatei mit tomcat/Spring logback
Kontext-Datei von tomcat :
web.xml :
web-application-context.xml
die logback-Konfigurator class:
und schließlich die environnement.Eigenschaften
Einer Weise, die es funktionierte, war es für uns zu externalisieren Sie die Konfigurationsdatei wie unten gezeigt. Ignorieren Sie die Feder-profile-Teil, wenn das nicht für Sie gelten. Also, sobald Sie die Konfiguration aktualisieren, in
logback-include.xml
, sagen wir, durch ändern der root-Ebene zu info, die Anwendung nimmt es innerhalb von 30 Sekunden (konfigurierbar).Referenz: https://logback.qos.ch/manual/configuration.html#fileInclusion
web.xml
Wir verwendeten Feder-Profilen, aber es funktioniert auch ohne Sie.
logback.xml (im classpath)
Hinweis: die
debug="true"
die wird Ihnen sagen, wenn Sie die Konfiguration aktualisiert wird.logback-include.xml (externer Standort)
Beachten Sie die Verwendung von
<included>
statt Konfiguration. Verpassen Sie nicht dieses Teil!!!!