java - Spring JDBC 不使用 log4j 记录 SQL

标签 java spring jdbc log4j

我正在研究 spring 是否可以切换到 spring stack。我认为很酷的一件事是 spring jdbc 能够记录所有已执行的 sql。所以我放入了log4j,设置了一个log4j.properties文件。并且没有 sql。

这是 log4j.properties 文件:

log4j.appender.stdout=org.apache.log4j.ConsoleAppe nder
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.Patt ernLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ ABSOLUTE} %5p %c{1}:%L - %m%n
log4j.rootLogger=debug, stdout
log4j.category.org.springframework.jdbc.core=DEBUG

这是一些非常简单的通过 spring jdbc 插入 sql 的输出:http://pastie.org/713189

最佳答案

尝试设置这些额外的 log4j 记录器。第一个将吐出通过 spring 的 JdbcTemplate 的 SQL,第二个为您提供 Spring 在准备好的语句上设置的参数值。

<logger name="org.springframework.jdbc.core.JdbcTemplate">
  <level value="debug" />
</logger>

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

显然,这仅在您使用 JdbcTemplate 直接或间接执行 SQL 时才有效。

关于java - Spring JDBC 不使用 log4j 记录 SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1792244/

相关文章:

java - 错误: Could not find or load main class on Docker

java - 以编程方式切换到 JDBCTemplate 时 Spring 事务不会回滚

java - JDBC/WebRowSet : readXml(Reader reader) vs. readXml(InputStream iStream)

java - 当 @Transactional 注解中指定回滚已检查异常时,Spring 是否会回滚运行时异常

JAVA:帮助修复递归函数

spring boot 可分页配置参数名称

java - Spring 中具有两个 id 的同一实例

java - 限制 jConnector 中的 MySQL 批处理大小

java - 方法终止时是否需要关闭连接和语句?

java - 洗牌和显示 10 java 小程序