【发布时间】:2020-01-17 06:30:57
【问题描述】:
起初我正在寻找如何在不重新启动服务器的情况下更改日志记录级别。我找到了使用弹簧靴执行器的解决方案。这个解决方案非常好。
但我真正的疑问是:如果我们忘记重新更改回与以前相同的日志记录级别怎么办?
例如:我已将某些软件包的日志记录级别从 ERROR 更改为 DEBUG “com.demo" 使用 Actuator,但我忘记再次恢复它,这意味着对于包 com.demo,日志级别 永远保持为 DEBUG,除非服务重新启动。这在生产环境中实际上不是问题吗? (我的意思是这会影响性能,对吗?)那么,有什么解决方案可以解决这个问题吗?
【问题讨论】:
-
为什么你会在生产中运行一些东西作为调试?调试是为了在测试环境中进行测试。
-
@ThomasAndolf 那么,我们应该只为测试环境添加执行器依赖吗?
-
@ThomasAndolf 我正在使用 Maven,是否需要在 pom.xml 文件中的
下添加执行器依赖项? -
不推荐,但如果您需要有关无法在其他地方重现的问题的更多信息,有时需要。此外,您不想/不需要在生产中记录端点这一事实并不意味着您需要放弃执行器功能的所有内容。指标、健康状况等仍然有用,尤其是在生产环境中。
-
执行器与调试无关。执行器用于监视应用程序的状态和一般统计信息(保持灯亮) 我从来没有提到关于执行器的任何事情,我说的是调试。设置要调试的东西比启用日志记录要多得多。它通常会在整个应用程序中产生更多开销,因为应用程序无法根据需要进行优化。如果您无法从生产中复制某些东西,那么您应该解决您无法复制它的原因,而不是增加您显然已经拥有的更多不良做法和技术债务
标签: java spring spring-boot spring-boot-actuator