Showing a Spring transaction in log4j

来源:互联网 发布:纹理指纹匹配算法 编辑:程序博客网 时间:2024/05/22 04:50

如果你想显示spring 的transaction,那么你需要配置好log4j.properties,

log4j.rootCategory=INFO, stdoutlog4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appender.stdout.layout=org.apache.log4j.PatternLayoutlog4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %t %c{2}:%L - %m%n#log4j.logger.org.springframework.transaction=DEBUG#log4j.logger.org.springframework.transaction.interceptor = TRACElog4j.logger.org.springframework.jdbc.datasource.DataSourceTransactionManager=DEBUG

注意后3句,

1.如果你想看比如

 DEBUG main datasource.DataSourceTransactionManager:371 - Creating new transaction with name [x.y.service.FooService.getFoo]: PROPAGATION_REQUIRED,ISOLATION_DEFAULT,-java.lang.UnsupportedOperationException        DEBUG main datasource.DataSourceTransactionManager:202 - Acquired Connection [jdbc:oracle:thin:@localhost:1521:orcl, UserName=SCOTT, Oracle JDBC driver] for JDBC transaction        DEBUG main datasource.DataSourceTransactionManager:219 - Switching JDBC Connection [jdbc:oracle:thin:@localhost:1521:orcl, UserName=SCOTT, Oracle JDBC driver] to manual commit        DEBUG main datasource.DataSourceTransactionManager:821 - Initiating transaction rollback        DEBUG main datasource.DataSourceTransactionManager:273 - Rolling back JDBC transaction on Connection [jdbc:oracle:thin:@localhost:1521:orcl, UserName=SCOTT, Oracle JDBC driver]

要用
log4j.logger.org.springframework.jdbc.datasource.DataSourceTransactionManager=DEBUG
注意:这句可以以后改成HibernateTransactionManager

2.如果你想显示

 TRACE main interceptor.TransactionInterceptor:290 - Getting transaction for [x.y.service.FooService.getFoo]       TRACE main interceptor.TransactionInterceptor:334 - Completing transaction for [x.y.service.FooService.getFoo] after exception: java.lang.UnsupportedOperationException       TRACE main interceptor.RuleBasedTransactionAttribute:130 - Applying rules to determine whether transaction should rollback on java.lang.UnsupportedOperationException       TRACE main interceptor.RuleBasedTransactionAttribute:148 - Winning rollback rule is: RollbackRuleAttribute with pattern [java.lang.UnsupportedOperationException]

要用

log4j.logger.org.springframework.transaction.interceptor = TRACE
3.如果你想显示

  DEBUG main annotation.AnnotationTransactionAttributeSource:107 - Adding transactional method [getFoo] with attribute [PROPAGATION_REQUIRED,ISOLATION_DEFAULT]       DEBUG main annotation.AnnotationTransactionAttributeSource:107 - Adding transactional method [getFoo] with attribute [PROPAGATION_REQUIRED,ISOLATION_DEFAULT,-java.lang.UnsupportedOperationException]

要用

log4j.logger.org.springframework.transaction=DEBUG

参考:http://forum.springsource.org/showthread.php?20483-Transaction-rollback-problem/page2

http://stackoverflow.com/questions/1965454/showing-a-spring-transaction-in-log





原创粉丝点击