Pomysł polega na umożliwieniu zmiany konfiguracji logowania bez konieczności ponownego wdrażania. Slf4j i logback są używane w projekcie. Plik logback.xml jest w uchu, ale odczytuje niektóre właściwości z pliku właściwości, który jest umieszczony poza zasięgiem ucha. Coś takiego:Zaktualizuj konfigurację logowania bez konieczności ponownego wdrażania.
<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 jest, że kontrole skanowania jeśli logback.xml został zmieniony (i złożyć zawsze takie same). Dlatego zmiana wartości w pliku właściwości nie zmienia konfiguracji logback. Zmiany są stosowane tylko po przeniesieniu.
Jaki jest najlepszy sposób, aby zmodyfikować konfigurację logowania bez konieczności ponownego wdrażania? Czy jest jakiś mechanizm, który pozwala to zrealizować?
upd: zmiany byłyby wprowadzane bardzo rzadko. ale powinny być stosowane tak szybko, jak to możliwe. wydajność jest również ważna.
Nie można programowo wprowadzić pewne zmiany do manekina plik logback.xml, aby został ponownie załadowany? Podobnie jak dodawanie i usuwanie pustych linii na końcu pliku? – rolve
@rolve Myślałem o takiej pracy. Ale mam nadzieję, że musi być wygodniejszy sposób na zrobienie tego. – error1009