使用logback记录spring JdbcTemplate的sql参数

Max*_*kov 6 spring logback jdbctemplate

我正在使用带有Spring JdbcTemplate的Logback来记录我的SQL查询.我的配置包含下一行:

<logger name="org.springframework.jdbc.core.JdbcTemplate" level="DEBUG" />
Run Code Online (Sandbox Code Playgroud)

但是这仅记录带有通配符的查询而?没有参数列表.

在这里,我发现了一些如何使用log4j实现参数记录的答案.但我不想切换到log4j.

那么如何通过Logback接收JdbcTemplate的参数列表呢?

编辑

实际上,NamedParameterJdbcTemplate如果重要的话,我正在使用它.

小智 10

试试这个

<logger name="org.springframework.jdbc.core.StatementCreatorUtils" level="TRACE" />

这将显示日志:

设置SQL语句参数值:列索引1,参数值[1234],值类[java.lang.Integer],SQL类型未知


Ric*_*lla 1

我通常更喜欢在 DataSource 或 JDBC 驱动程序级别处理 SQL 语句日志记录。

我使用BoneCP数据源/连接池库,其中包括对语句日志记录的支持SLF4J以及许多其他有用的功能

如果无法更改数据源/连接池库,也许您可​​以使用log4jdbc,它作为代理 jdbc 驱动程序,SLF4J在调用与数据库对话的实际 jdbc 驱动程序之前记录语句。