[SPRING] 봄 최대 절전 모드 트랜잭션 로깅
SPRING봄 최대 절전 모드 트랜잭션 로깅
우리는 스프링 트랜잭션 메커니즘을 어떻게 기록 할 수 있는가? 나는 아래 예제에서 Spring Doc sec 10.5.2.if를 보여주고있다. 나는이 레벨까지 로깅하는 방법을 원한다.
나는 봄, 최대 절전 모드 및 Log4j 사용하고 있습니다.
<!-- the Spring container is starting up... -->
[AspectJInvocationContextExposingAdvisorAutoProxyCreator] - Creating implicit proxy
for bean 'fooService' with 0 common interceptors and 1 specific interceptors
<!-- the DefaultFooService is actually proxied -->
[JdkDynamicAopProxy] - Creating JDK dynamic proxy for [x.y.service.DefaultFooService]
<!-- ... the insertFoo(..) method is now being invoked on the proxy -->
[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]
<!-- and the transaction is rolled back (by default, RuntimeException instances cause rollback) -->
[DataSourceTransactionManager] - Rolling back JDBC transaction on Connection
[org.apache.commons.dbcp.PoolableConnection@a53de4]
[DataSourceTransactionManager] - Releasing JDBC Connection after transaction
[DataSourceUtils] - Returning JDBC Connection to DataSource
Exception in thread "main" java.lang.UnsupportedOperationException
at x.y.service.DefaultFooService.insertFoo(DefaultFooService.java:14)
<!-- AOP infrastructure stack trace elements removed for clarity -->
at $Proxy0.insertFoo(Unknown Source)
로깅 파일 ..
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
log4j.rootLogger=info, stdout
log4j.category.org.springframework.transactions=DEBUG
해결법
-
==============================
1.Spring Reference에는 Logging에 대한 섹션이있다.
Spring Reference에는 Logging에 대한 섹션이있다.
log4j 중 여러 로깅 프레임 워크를 구성하는 방법을 보여줍니다.
귀하의 경우 구성의 마지막 줄은 다음과 같습니다.
log4j.logger.org.springframework.transaction=DEBUG
-
==============================
2.스프링 트랜잭션 지원의 로그 수준을 설정하려는 경우 log4j.xml에 다음 로거를 추가하십시오.
스프링 트랜잭션 지원의 로그 수준을 설정하려는 경우 log4j.xml에 다음 로거를 추가하십시오.
<logger name="org.springframework.transaction"> <level value="DEBUG" /> </logger>
from https://stackoverflow.com/questions/5898911/spring-hibernate-transaction-logging by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] JSF2 : 봄부터 managedbean에 서비스 객체를 삽입 하시겠습니까? (0) | 2019.04.07 |
---|---|
[SPRING] @WebMvcTest를 사용하고 사용자 정의 필터를 어떻게 추가 할 수 있습니까? (0) | 2019.04.07 |
[SPRING] Eclipse에서 비어있는 웹 앱 라이브러리 - "jars"가 없습니다. (0) | 2019.04.07 |
[SPRING] 인터페이스에 대한 Spring 의존성 삽입 (0) | 2019.04.07 |
[SPRING] Spring MVC에서 UUID 바인딩하기 (0) | 2019.04.07 |