我的application.properties
以编程方式加载
使用PropertyPlaceholderConfigurer。因此,在 application.properties
中设置 logging.config
(例如:logging.config=file:/home/dev-01/conf/logback.xml
)
在 application.properties
中将不起作用,因为日志记录发生在生命周期的早期,因此无法从 application.properties
读取值。
我需要外部化logback.xml
,因为需要根据环境配置一些属性值。如果我可以将其外部化,则可以通过支持/操作来管理它,而无需开发人员干预。此外,它很容易维护,无需从 application.properties
重定向。这意味着我可以在 logback.xml
文件本身中设置属性值。
我看到了在启动期间添加虚拟机选项的解决方案。我还没有尝试过,但我只是想知道是否可以以编程方式加载 logback.xml
(类似于我的 application.properties
)。
最佳答案
我使用这样的配置来实现这一点:
<configuration scan="true" scanPeriod="10 seconds" debug="false">
<statusListener class="ch.qos.logback.core.status.NopStatusListener" />
<include file="${CONFDIR}/config/logback-config.xml" />
</configuration>
然后您在该位置放置另一个 logback 配置,对该文件的更改将每 10 秒刷新一次
关于java - 以编程方式外部化 logback-spring.xml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44459213/