3.6 日志调试
开启日志
dlz:
db:
log:
show-run-sql: true # 打印可执行 SQL
show-caller: true # 打印调用代码位置
show-result: false # 打印查询结果(有性能影响)
日志输出格式
[SQL] SELECT * FROM user WHERE id = 1 AND is_deleted = 0
[耗时] 12ms
[调用] caller:UserController.java:15
日志特点:
- 完整 SQL:参数已填充,可直接复制执行
- 执行耗时:精确到毫秒
- 代码位置:IDE 中可点击跳转到调用行
慢 SQL
dlz:
db:
log:
show-run-sql: true
slow-sql-threshold: 1000 # 慢 SQL 阈值(毫秒),0 表示不启用
超过阈值的 SQL 会以 WARN 级别输出,方便定位性能瓶颈。
示例输出:
WARN [main] c.d.db.util.DbLogUtil - query 1250ms sql:SELECT * FROM user WHERE status = 1
使用建议:
- 开发环境:设置为 0(不启用)或较大值(如 5000ms)
- 测试环境:设置为 1000ms,发现潜在性能问题
- 生产环境:设置为 500-1000ms,及时发现慢查询