2016-03-29 4 views
9

https://github.com/jinzhu/gorm से SQL क्वेरी लॉग प्राप्त करने का कोई तरीका है?गोलांग गोर अंतर्निहित mysql क्वेरी

उदा। देव पर्यावरण में, यह कंसोल पर लॉग इन करने में सक्षम होने के लिए उपयोगी होगा जो mysql प्रश्नों को बुलाया गया है।

उदा। कैसे निम्नलिखित प्रश्नों के लिए अंतर्निहित एसक्यूएल क्वेरी लॉग पाने के लिए:

gorm.Find(&todos) 
gorm.Preload("User").Find(&todos) 

मुझे पता है कि मैं फोन कर सकते हैं हूँ:

gorm.Debug().Find(&todos) 
gorm.Debug().Preload("User").Find(&todos) 

लेकिन मैं केवल तभी देव envrionment में और में नहीं Debug() कॉल करना चाहते हैं उत्पादन

उत्तर

13

इस चाल करना होगा के आधार पर यह निर्धारित कर सकते हैं जहां:

db, err:= Open(dbType, connectionDSN); 
db.LogMode(true) 
1

आप gorm.SetLogger विधि का उपयोग कर अपने स्वयं के लॉगर को छात्रावास में पास कर सकते हैं। यह लॉग्स के साथ-साथ SQL क्वेरी प्रिंट करने के लिए लॉगर की प्रिंट विधि का उपयोग करता है। किसी भी लॉगर (लॉगर/गो के इनबिल्ड लॉगर) के लिए प्रिंट विधि का लॉग स्तर आम तौर पर INFO पर सेट होता है। गोरम के लिए लॉगर पास करते समय, यदि आप लॉग स्तर को INFO (DEBUG/INFO) के नीचे या उसके बराबर कुछ भी सेट करते हैं तो आप एसक्यूएल प्रश्न और अन्य लॉग को गोर

पर भी देख सकते हैं इसके अलावा आप कॉन्फ़िगरेशन से लॉग स्तर को पार्स कर सकते हैं फाइल पर्यावरण

संबंधित मुद्दे