【发布时间】:2022-01-20 07:05:15
【问题描述】:
如果您想查看 Spring Data JDBC 正在执行哪些 SQL 语句,您会怎么做? 由于它使用绑定变量,我还想在日志中查看它们的值。
【问题讨论】:
如果您想查看 Spring Data JDBC 正在执行哪些 SQL 语句,您会怎么做? 由于它使用绑定变量,我还想在日志中查看它们的值。
【问题讨论】:
Spring Data JDBC 使用JdbcTemplate 来执行所有 SQL 语句。
So you really need to configure logging for that.
语句本身由模板本身以DEBUG 级别记录。
要查看这些,您必须将org.springframework.jdbc.core.JdbcTemplate 的日志级别设置为DEBUG。
绑定变量的参数由org.springframework.jdbc.core.StatementCreatorUtils 在TRACE 级别记录。
如何配置这些取决于您的项目设置。
您可以使用 Log4J、Logback 或您正在使用的任何日志记录实现的配置选项。
或者,如果您碰巧使用 Spring Boot,application.properties 中的以下行应该可以解决问题。
logging.level.org.springframework.jdbc.core.StatementCreatorUtils=TRACE
logging.level.org.springframework.jdbc.core.JdbcTemplate=DEBUG
或者干脆
logging.level.org.springframework.jdbc.core = TRACE
如果您不介意获得一些额外的输出。
【讨论】: