记录Spring Batch执行的SQL查询

时间:2018-03-29 13:02:27

标签: spring spring-boot spring-batch

我设法使用以下命令记录Spring Batch执行的预准备语句:

logging.level.org.springframework.jdbc=DEBUG

但是这不会显示给JdbcCursorItemReader的常规语句。

我尝试添加:

logging.level.java.sql=DEBUG
logging.level.java.sql.Connection=DEBUG
logging.level.java.sql.Statement=DEBUG
logging.level.java.sql.PreparedStatement=DEBUG
logging.level.java.sql.ResultSet=DEBUG

但这并没有成功。

2 个答案:

答案 0 :(得分:0)

JdbcCursorItemReader的包是org.springframework.batch.item.database。

相应地更改你的conf:

  

logging.level.org.springframework.batch.item.database = DEBUG

答案 1 :(得分:0)

Spring Batch 使用 JDBC,因此在您的配置中添加以下配置将启用 SQL 日志记录:

logging:
  level
    org.springframework.jdbc.core.JdbcTemplate: debug 

这是一个示例输出:

2021-01-19 14:51:37.570 DEBUG 14792 --- [           main] o.s.jdbc.core.JdbcTemplate               : Executing prepared SQL query
2021-01-19 14:51:37.571 DEBUG 14792 --- [           main] o.s.jdbc.core.JdbcTemplate               : Executing prepared SQL statement [SELECT VERSION FROM BATCH_JOB_EXECUTION WHERE JOB_EXECUTION_ID=?]