संग्रह की SQL क्वेरी कैसे लॉग करें?


9

मैं कस्टम संग्रह के लिए SQL क्वेरी लॉग करना चाहता हूं। मैंने निम्नलिखित कोड की कोशिश की। लेकिन काम नहीं किया। कोई भी सुझाव प्रशंसनीय होगा।

Mage::log($collection->getSelect(),null,'test.log',true);

जवाबों:


10

यदि आप किसी संग्रह से SQL क्वेरी चाहते हैं तो आपको इसे स्ट्रिंग के रूप में डालना होगा। बस (string)अपने पहले से लिखे लॉगिंग कोड में जोड़ें।

Mage::log((string)$collection->getSelect(),null,'test.log',true);

12

कोशिश करें कि $Collection->printLogQuery(true);यह संग्रह क्वेरी प्रिंट करेगा।


आपका बहुत बहुत धन्यवाद। आपका कोड इंटरफ़ेस पर क्वेरी को प्रिंट करता है।
सुकेशिनी

2

जैसा कि फ्लाइंगमैन ने मुझे समझाया, उसके लिए धन्यवाद।

$collection->load($printQuery = false, $logQuery = false)

लोड करने के बाद क्वेरी को लॉग या प्रिंट करना महत्वपूर्ण है, क्योंकि beforeLoadविधि में बहुत कुछ किया जा सकता है। तो पहला जवाब:

Mage::log((string)$collection->getSelect(),null,'test.log',true);

उपयोग किया जाना चाहिए AFTER loadकहा जाता है।


वर्तमान घटना को कैसे प्राप्त करें और मैगेंटो 1.9 में लॉगफाइल में प्रिंट करें
मणि

मुझे सवाल नहीं आता। कौन सा कार्यक्रम?
फैबियन ब्लेचस्मीट

2

चरण 1:

$result_colletion = print_r($collection->getSelect());
Mage::log($$result_colletion, null, custom_collection.log,true);

चरण 2: उसके बाद Magento के एडमिन सेक्शन में लॉगिन करें और लॉग इन सेटिंग को सक्षम करें। कृपया नीचे देखे ।

सिस्टम> कॉन्फ़िगरेशन> डेवलपर> लॉग सेटिंग्स

चरण 3: उसके बाद var / log / फ़ोल्डर में लॉग फ़ाइल "custom_collection.log" देखें।


1
Mage::log($collection->getSelect()->__toString(), Zend_Log::DEBUG, 'test.log', true);

संपादित करें:

दूसरे पैरामीटर के रूप में उपयोग करने के लिए null(कमबैक DEBUG) के बजाय बेहतर इनमें से किसी एक का उपयोग करें Zend_Log:

const EMERG   = 0;  // Emergency: system is unusable
const ALERT   = 1;  // Alert: action must be taken immediately
const CRIT    = 2;  // Critical: critical conditions
const ERR     = 3;  // Error: error conditions
const WARN    = 4;  // Warning: warning conditions
const NOTICE  = 5;  // Notice: normal but significant condition
const INFO    = 6;  // Informational: informational messages
const DEBUG   = 7;  // Debug: debug messages
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.