使用log4j显示jdbc事务事件



我希望看到Spring中的事务活动,例如:

TransactionInterceptor] - Getting transaction for x.y.service.FooService.insertFoo
  <!-- the transactional advice kicks in here... -->
[DataSourceTransactionManager] - Creating new transaction with name [x.y.service.FooService.insertFoo]
[DataSourceTransactionManager] - Acquired Connection
    [org.apache.commons.dbcp.PoolableConnection@a53de4] for JDBC transaction
  <!-- the insertFoo(..) method from DefaultFooService throws an exception... -->
[RuleBasedTransactionAttribute] - Applying rules to determine whether transaction should
    rollback on java.lang.UnsupportedOperationException
[TransactionInterceptor] - Invoking rollback for transaction on x.y.service.FooService.insertFoo
    due to throwable [java.lang.UnsupportedOperationException]

和log4j。我配置的属性如下:

log4j.rootCategory=INFO, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %t %c{2}:%L - %m%n
log4j.logger.org.springframework.transactions=DEBUG

但是它不会产生上述输出。为了显示事务活动,我缺少哪个属性?

use

 log4j.logger.org.springframework.jdbc.datasource.DataSourceTransactionManager=DEBUG  

参考事务log4j

尝试:

log4j.logger.org.springframework.transaction=DEBUG

在这个回答中指定。

注意记录器的名称与您的名称相同,但没有最后一个字符。

最新更新