2012-03-21 15 views
6

जब से मैंने अपनी दो grails परियोजनाओं को grails में अपग्रेड किया 2.0 grails-melody एसक्यूएल कॉल लॉगिंग बंद कर दिया। मैंने grails-melody प्लगइन के विभिन्न संस्करणों का प्रयास किया है, लेकिन मुझे सभी संस्करणों में एक ही त्रुटि मिलती है (यहां तक ​​कि संस्करण जो Grails 2.0 में माइग्रेट करने से पहले काम करता है)।Grails मेलोडी प्लगइन अब लॉग इन एसक्यूएल कॉल के रूप में लॉग इन करता है 2.0

मुझे कुछ भी उपयोगी googling नहीं मिल रहा है। मैं grails राग प्लगइन

log4j = { 
    trace 'net.bull.javamelody' 
} 

पर एक निशान डिबग जोड़ देते हैं तो मैं लॉग में यह देखें:

DEBUG bull.javamelody - datasources found in JNDI: [] 

यह समस्या वास्तव में मुझे पागल गाड़ी चला रहा है .. किसी को भी इस समस्या का अनुभव है? और यदि आपको ऐसा समाधान मिला तो?

अद्यतन: Grails मेलोडी नव निर्मित परियोजनाओं में भी काम नहीं करता है। मैंने अभी एक डोमेन वर्ग और संबंधित नियंत्रक और विचारों के साथ एक नई grails परियोजना (grails 2.0.0) बनाया है। फिर grails-melody प्लगइन स्थापित किया। कुछ डेटा डाला जब मैं कंसोल निगरानी में देखा, कोई एसक्यूएल डेटा लॉग किया जा रहा है ..

Graph Tables

उत्तर

4

एक आंशिक समाधान का DataSource.groovy की हाइबरनेट खंड में jdbc.factory_class स्थापित करने के लिए है। उदाहरण के लिए:

hibernate { 
    cache.use_second_level_cache = true 
    cache.use_query_cache = false 
    cache.region.factory_class = 'net.sf.ehcache.hibernate.EhCacheRegionFactory' 
    jdbc.factory_class = 'net.bull.javamelody.HibernateBatcherFactory' 
} 

यह हाइबरनेट के माध्यम से जाने वाले सभी SQL क्वेरी लॉग करेगा। डेटा स्रोत का उपयोग करने वाली क्वेरी अभी भी लॉग नहीं होती हैं।

+0

अच्छा! इसे आज़माएं धन्यवाद!! –

+0

पुष्टि कर सकता है कि यह GORM के लिए काम करता है। धन्यवाद!! –

+0

1 नीचे, एक जाने के लिए :) शुद्ध एसक्यूएल कॉल के लिए समाधान ढूंढने की आवश्यकता है (प्रदर्शन के लिए उन लोगों की उचित संख्या है) –

0

मैंने एटाइलर के जवाब को ऊपर उठाया क्योंकि मुझे इस मुद्दे को ठीक करना शुरू हो गया। लेकिन मैं अभी तक टिप्पणी नहीं कर सकता, इसलिए मैं इसे यहां पोस्ट करूंगा।

जावामेलोड डॉक्स पर जेडीबीसी अनुभाग में: JDBC, यह बताता है कि सीधे अपने ड्राइवर चालक का उपयोग करके इसे सीधे हाइबरनेट के साथ कैसे किया जाए। मुझे लगता है कि यह भी काम करेगा, सिवाय इसके कि मैं अपने जीवन के लिए डेटासोर्स.groovy में काम करने के लिए पैरामीटर को समझने के लिए नहीं कर सकता।

संदर्भ:

<property name="hibernate.connection.driver_class">net.bull.javamelody.JdbcDriver</property> 
    <property name="hibernate.connection.driver">com.mysql.jdbc.Driver</property> 
    <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/myschema</property> 
    <property name="hibernate.connection.username">myuser</property> 
    <property name="hibernate.connection.password">mypassword</property> 
संबंधित मुद्दे