You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Cloud Config Server刷新时禁用scan的logback自动重配置是否为预期行为?

结论

该行为是Spring Cloud框架的预期设计,和logback自身的scan开关没有关联。

原因说明

  • Spring Cloud Context默认提供了LoggingRebinder组件,它会监听EnvironmentChangeEvent事件:只要Spring上下文的环境属性发生变更(包括你通过Config Server推送、Cloud Bus广播触发的属性刷新),该组件就会主动触发日志系统的全量重初始化。
  • 日志系统重初始化时,会重新读取你jar包内的logback XML配置,同时会把当前Spring Environment中最新的属性全部注入到logback的上下文环境中,供配置里的条件判断、占位符替换使用,所以你修改的smtpEnabled属性会自动生效。
  • logback自带的scan功能是logback自身定时扫描配置文件变更的能力,和Spring Cloud主动触发的日志重配置是完全独立的两个逻辑,因此就算关闭了logback的scan功能,Spring主动触发的重加载行为依旧会执行。

可选关闭方式

如果你不需要这种环境变更自动刷新日志配置的行为,可以在项目配置中添加:

spring.cloud.logging.refresh.enabled=false

即可禁用该自动重配置逻辑。

内容的提问来源于stack exchange,提问作者Ruelos Joel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 16:36:03