如何使用 Spring 数据 JDBC 记录 SQL 语句和参数
How to log SQL statements and parameters with Spring Data JDBC
如果您想查看 SQL 语句 Spring 数据 JDBC 正在执行什么,您会怎么做?
由于它使用绑定变量,我也想在日志中查看它们的值。
Spring 数据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 引导 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
如果您不介意可能获得一些额外的输出。
如果您想查看 SQL 语句 Spring 数据 JDBC 正在执行什么,您会怎么做? 由于它使用绑定变量,我也想在日志中查看它们的值。
Spring 数据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 引导 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
如果您不介意可能获得一些额外的输出。