L'idea è di rendere possibile modificare la configurazione di logback senza ridistribuire. Slf4j e logback sono usati nel progetto. logback.xml è in ascolto, ma legge alcune proprietà dal file di proprietà, che viene messo fuori dall'orecchio. Qualcosa del genere:Configura configurazione di aggiornamento senza ridistribuire
<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>
Il problema è che i controlli di scansione se logback.xml è stato modificato (e il file sempre la stessa). Ecco perché la modifica dei valori nel file delle proprietà non modifica la configurazione del logback. Le modifiche vengono applicate solo dopo la ridistribuzione.
Allora, qual è il modo migliore per avere la capacità di modificare la configurazione logback senza redeploy? C'è qualche meccanismo che permette di realizzarlo?
UPD: modifiche sarebbero state molto raramente. ma dovrebbero essere applicati il prima possibile. anche le prestazioni sono importanti.
Non potresti apportare alcune modifiche a livello di codice fittizio per la logback.xml in modo che venga ricaricato? Come aggiungere e rimuovere righe vuote alla fine del file? – rolve
@rolve Ho pensato a un simile lavoro. Ma spero che ci debba essere un modo più conveniente per farlo. – error1009