我正在研究 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/