如何在Spring启动应用程序中动态更改回溯日志级别

时间:2016-11-11 21:17:13

标签: spring-boot logback spring-cloud

我有一个Spring启动应用程序,它使用logback.xml进行日志记录配置。我正在寻找动态更改日志级别的选项。 例如,如果我已经部署了一个带有loglevel的应用程序作为ERROR,那么我想将其更改为INFO,但我不想重新部署/重新启动我的JVM。

有没有可能我们可以像配置服务器一样配置logback.xml来实现这个

3 个答案:

答案 0 :(得分:2)

答案 1 :(得分:2)

如果您使用的是spring cloud,那么您可以在yml文件中使用它

logging:
  level:
    root: INFO

然后您可以更改它并使用执行器刷新刷新配置以获取新的配置更改,而无需重新启动服务。

此外,如果您需要某种UI来完成这些工作,您可以探索Spring-cloud-dashboard它非常酷并且使用执行器的功能来执行并向您显示许多内容,而不仅仅是更改日志级别。

答案 2 :(得分:1)

是的,这很有可能。在提供className和日志级别的位置公开休息端点。使用slf4j,您可以获取LoggerContext并更改级别。

 var distance =calculateHaversineFormula({{lat}}, {{lng}},{{  geocode.latitude}}, {{ geocode.longitude }} ); 
            console.log(distance);

Apache Commons日志记录和其他类似的功能。