2011-05-05 17 views
7

हम वसंत लेनदेन तंत्र को कैसे लॉग कर सकते हैं। मैं Spring Doc sec 10.5.2 में दिखाया गया उदाहरण दिखा रहा हूं। अगर मैं इस स्तर तक लॉगिंग करना चाहता हूं किस्प्रिंग हाइबरनेट लेनदेन लॉगिंग

मैं स्प्रिंग, हाइबरनेट और लॉग 4j का उपयोग कर रहा हूं।

<!-- 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 
[[email protected]] 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 
[[email protected]] 
[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 

उत्तर

9

वसंत संदर्भ में a section about Logging है।

यह अलग प्रवेश चौखटे को कॉन्फ़िगर कैसे करें, उन के बीच log4j

आपके मामले में config की अंतिम पंक्ति होगा पता चलता है:

log4j.logger.org.springframework.transaction=DEBUG 
+0

@Lucas धन्यवाद .. मैं डाल दिया है मेरा log4j गुण फ़ाइल उपरोक्त। क्या आप सोम परिवर्तन का सुझाव देते हैं जो मुझे स्प्रिंग, हाइबरनेट – Vish

+0

का उपयोग करके मेरे जे 2 ई एप्लिकेशन को लॉग इन करने में मदद कर सकता है क्या हमें log4j.category का उपयोग करने के लिए कुछ कॉन्फ़िगरेशन की आवश्यकता है क्योंकि यह मेरे एप्लिकेशन में काम नहीं कर रहा है। :( – Vish

+0

@ विश मैंने स्प्रिंग डॉक्स से इसकी प्रतिलिपि बनाई है लेकिन लॉग 4j दस्तावेज़ों में इसे खत्म नहीं कर सकता है। अब –

8

अगर तुम सिर्फ, वसंत लेन-देन के समर्थन की लॉग स्तर सेट अपने log4j.xml के लिए निम्न लकड़हारा जोड़ने की कोशिश करने को तैयार हैं:

<logger name="org.springframework.transaction"> 
     <level value="DEBUG" /> 
</logger> 
संबंधित मुद्दे