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

配置slf4j+logback无法打印MySQL SQL查询语句该如何修正

配置修正方案

1. 调整logback-test.xml的日志级别配置

你当前配置中org.springframework.jdbc的日志级别为info,而Spring JdbcTemplate的SQL执行语句默认在debug级别输出,需调整该配置;如果需要打印SQL的入参值,可额外添加StatementCreatorUtils的trace级别配置:

<!-- 原有info改为debug -->
<logger name="org.springframework.jdbc" level="debug"/>
<!-- 可选:打印SQL参数值 -->
<logger name="org.springframework.jdbc.core.StatementCreatorUtils" level="trace"/>
<logger name="com.mysql" level="debug"/>
<logger name="ru.javawebinar.topjava" level="debug"/>

2. 补全MySQL连接URL的日志参数

仅指定logger=Slf4JLogger不会触发驱动输出SQL,需要额外开启SQL profiling配置,修改连接URL如下:

jdbc:mysql://localhost:3306/topjava?logger=Slf4JLogger&profileSQL=true

如果你的URL是写在XML格式的Spring配置文件中,需要把&转义为&amp;:

jdbc:mysql://localhost:3306/topjava?logger=Slf4JLogger&amp;profileSQL=true

可选优化(针对MySQL 8.x驱动)

如果你使用的是MySQL 8.x版本的Connector/J驱动,日志包路径为com.mysql.cj,可补充对应日志配置:

<logger name="com.mysql.cj" level="debug"/>

完成上述修改后重新运行测试,即可看到JdbcTemplate输出的SQL语句、入参,以及MySQL驱动返回的执行明细日志。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 15:45:00