【发布时间】:2017-03-26 04:16:43
【问题描述】:
我有一个 Spring Boot 应用程序,它使用 logback.xml 来记录配置。我正在寻找动态更改日志级别的选项。 例如,如果我部署了一个日志级别为 ERROR 的应用程序,假设我想将其更改为 INFO,但我不想重新部署/重新启动我的 JVM。
有没有可能我们可以像配置服务器一样配置 logback.xml 来实现这一点
【问题讨论】:
标签: spring-boot logback spring-cloud
我有一个 Spring Boot 应用程序,它使用 logback.xml 来记录配置。我正在寻找动态更改日志级别的选项。 例如,如果我部署了一个日志级别为 ERROR 的应用程序,假设我想将其更改为 INFO,但我不想重新部署/重新启动我的 JVM。
有没有可能我们可以像配置服务器一样配置 logback.xml 来实现这一点
【问题讨论】:
标签: spring-boot logback spring-cloud
如果您使用的是 spring cloud,那么您可以在 yml 文件中包含它
logging:
level:
root: INFO
然后您可以更改它并使用执行器刷新刷新配置以获取新的配置更改,而无需重新启动服务。
此外,如果您需要某种 UI 来执行此操作,您可以探索 Spring-cloud-dashboard 它非常酷,它使用执行器的功能来执行并向您展示许多内容,而不仅仅是更改日志级别。
【讨论】:
【讨论】:
是的,这很有可能。公开一个提供类名和日志级别的休息端点。使用 slf4j 您可以获得 LoggerContext 并更改级别。
LoggerContext context = (LoggerContext) LoggerFactory.getILoggerFactory();
context.getLogger(className).setLevel(Level.valueOf(level));
Apache Commons 日志记录和其他具有类似功能。
【讨论】: