Spring JDBC没有使用log4j记录SQL

phi*_*son 4 java spring log4j jdbc

我正在研究弹簧可能切换到弹簧组.我认为很酷的一件事是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
Run Code Online (Sandbox Code Playgroud)

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

ser*_*g10 11

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

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

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

显然,如果您使用直接或间接执行SQL,这只会起作用JdbcTemplate.