想法是在不重新部署的情況下更改logback配置。 Slf4j和logback在項目中使用。 logback.xml文件在耳邊,但是它從屬性文件中讀取一些屬性,它放在耳邊。 類似的東西:無需重新部署即可更新logback配置
<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>
問題是,掃描檢查logback.xml已更改(和文件總是相同的)。這就是爲什麼在屬性文件中更改值不會更改logback的配置。更改僅在重新部署後應用。
那麼有能力修改logback配置而不重新部署的最好方法是什麼?有沒有一些機制可以實現它?
upd:更改將很少發生。但他們應該儘快應用。表現也很重要。
你不能做編程的一些虛擬的變化logback.xml文件,以便重新加載?像添加和刪除文件末尾的空白行? – rolve
@rolve 我想過這樣的工作。但我希望一定有更方便的方法來做到這一點。 – error1009