在集群中的Spring Boot应用程序中在运行时更改日志级别

时间:2018-11-22 15:09:54

标签: spring-boot configuration logback

我们有一个Spring Boot应用程序,该应用程序在OpenShift环境中集群运行。我们可以动态地上下扩展应用程序,因此我们有尽可能多的实例来处理负载。

此应用程序使用SLF4J和Logback进行日志记录。现在,我们想动态更改所有集群成员的日志级别。当前,我们通过更改部署配置中的某些系统属性(例如添加-Dlogging.level.com.example=DEBUG),然后对应用程序执行滚动重新部署来实现。由于应用程序是群集的,并且更新是以滚动方式执行的,因此对于应用程序的使用者而言,没有停机时间的感觉。但是,该应用程序还运行后台任务,这些任务可能会因滚动部署而中断。因此,我们宁愿有一种无需重启应用程序即可更新所有集群成员的日志记录配置的方法。

我们知道登录支持监视文件,但是我们无法在运行时替换docker容器中的文件,即使我们需要某种方式来确保在所有集群成员上同时发生。

什么是实现这一目标的好方法?

0 个答案:

没有答案