संग्रह की 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.