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

SpringBoot3迁移后不打印异常堆栈跟踪的解决方法求助

SpringBoot3 打印异常堆栈跟踪的配置方案

问题场景

从Spring5迁移到SpringBoot3后,上下文初始化时的Bean创建异常仅输出WARN级别的简略日志,无法看到原始异常的堆栈跟踪(比如控制器构造函数抛出的RuntimeException),即使设置logging.level.org.springframework=TRACE也无济于事。

解决步骤

1. 配置日志输出格式,强制包含堆栈

在application.properties中添加日志模式,确保异常堆栈被输出:

logging.pattern.console=%d{yyyy-MM-dd HH:mm:ss.SSS} %-5level %logger{36} - %msg%n%ex
  • %ex:输出完整的异常堆栈;若想缩短堆栈,可替换为%xEx

2. 调整Spring Bean工厂的日志级别

单独开启Bean创建相关日志的DEBUG级别,确保异常细节被打印:

logging.level.org.springframework.beans.factory=DEBUG

3. 排查自定义异常处理逻辑

如果项目中存在@ControllerAdvice或全局异常处理器,检查是否有代码抑制了堆栈跟踪的输出,确保异常的日志记录逻辑完整保留堆栈信息。

4. 启动时添加JVM参数强制调试

如果以上配置未生效,启动应用时添加以下JVM参数,强制日志系统输出完整堆栈:

-Dlogback.debug=true

(若使用log4j2则替换为-Dlog4j2.debug=true)

验证

调整配置后重启应用,当控制器构造函数抛出异常时,日志会完整输出RuntimeException的堆栈跟踪,包含异常信息和调用链路。

内容的提问来源于stack exchange,提问作者Rick H

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 11:13:10