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

Spring Boot中Hibernate慢SQL日志配置无效,所有SQL均被打印

Hibernate慢查询日志未生效,所有SQL都输出的原因及解决办法

问题根源

你当前的配置里同时启用了两个会强制输出所有SQL的配置项,它们直接覆盖了慢查询日志的预期行为:

  • spring.jpa.show-sql=true:该配置会直接在控制台打印所有Hibernate执行的SQL语句,不受执行时长限制
  • logging.level.org.hibernate.SQL=DEBUG:这个日志级别设置会让Hibernate的org.hibernate.SQL日志类别输出所有SQL,同样无视慢查询阈值

而你配置的慢查询相关项(LOG_QUERIES_SLOWER_THAN_MS和logging.level.org.hibernate.SQL_SLOW=DEBUG)的作用是额外记录超过阈值的慢查询,但无法关闭默认的全量SQL输出逻辑。

解决步骤

要实现仅打印执行时间超过5秒的SQL,需要修改以下配置:

  1. 关闭全量SQL输出的配置:
    • 移除或设置为false:spring.jpa.show-sql=false
    • 调整日志级别,将org.hibernate.SQL从DEBUG改为更高等级(比如INFO或WARN),或者直接注释掉:logging.level.org.hibernate.SQL=INFO
  2. 保留慢查询相关配置以确保其生效:
    logging.level.org.hibernate.SQL_SLOW=DEBUG
    spring.jpa.properties.hibernate.session.events.log.LOG_QUERIES_SLOWER_THAN_MS=5000
    

另外注意:spring.jpa.properties.hibernate.show_sql=true(下划线格式)和spring.jpa.show-sql=true(短横线格式)是功能重复的配置,重复设置也会导致重复输出,需确保两者都处于关闭状态。

内容的提问来源于stack exchange,提问作者Subodh Joshi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 00:15:08