想法是在不重新部署的情况下更改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