Idee ist es, die Logback-Konfiguration zu ändern, ohne erneut zu implementieren. Slf4j und Logback werden im Projekt verwendet. Logback.xml-Datei ist im Ohr, aber es liest einige Eigenschaften aus der Eigenschaft Datei, die außerhalb des Ohres platziert wird. So etwas:Update Logback-Konfiguration ohne erneute Bereitstellung
<configuration scan="true" scanPeriod="5 seconds">
<property file="${logconfig}"/>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>${logback.consolePattern}</pattern>
</encoder>
</appender>
<root level="DEBUG">
<appender-ref ref="STDOUT" />
</root>
</configuration>
Problem ist, dass Scan überprüft, ob logback.xml geändert wurde (und die Datei immer gleich). Aus diesem Grund ändert das Ändern der Werte in der Eigenschaftendatei nicht die Konfiguration des Logbacks. Änderungen werden erst nach einer erneuten Bereitstellung übernommen.
Was ist also der beste Weg, die Logback-Konfiguration zu ändern, ohne sie erneut zu implementieren? Gibt es einen Mechanismus, der es erlaubt, es zu realisieren?
upd: Änderungen würden sehr selten vorgenommen. aber sie sollten so bald wie möglich angewendet werden. Leistung ist auch wichtig.
konnte nicht programmatisch Sie einige Dummy-Änderungen an der machen Logback.xml-Datei, so dass es neu geladen wird? Wie das Hinzufügen und Entfernen von Leerzeilen am Ende der Datei? – rolve
@rolve Ich dachte über solche Arbeit um. Aber ich hoffe, es muss einen bequemeren Weg geben, das zu tun. – error1009