Yanıtlar:
SQL sorgusu bir koleksiyondan istiyorsanız dize olarak yayınlamanız gerekir. (string)
Önceden yazdığınız kayıt kodunu eklemeniz yeterlidir.
Mage::log((string)$collection->getSelect(),null,'test.log',true);
Flyingmana bana açıkladığı gibi, onun sayesinde.
$collection->load($printQuery = false, $logQuery = false)
Yüklemeden sonra sorguyu günlüğe kaydetmek veya yazdırmak önemlidir, çünkü beforeLoad
yöntemde çok şey yapılabilir. İlk cevap:
Mage::log((string)$collection->getSelect(),null,'test.log',true);
SONRA kullanılmalıdır load
.
Aşama 1:
$result_colletion = print_r($collection->getSelect());
Mage::log($$result_colletion, null, custom_collection.log,true);
Adım 2: Bundan sonra Magento admin bölümünde oturum açın ve günlük ayarını etkinleştirin. Lütfen aşağıya bakın .
Sistem> Yapılandırma> Geliştirici> Günlük Ayarları
Adım 3: Bundan sonra var / log / klasöründeki “custom_collection.log” günlük dosyasına bakın.
Mage::log($collection->getSelect()->__toString(), Zend_Log::DEBUG, 'test.log', true);
Düzenle:
İkinci parametre olarak null
(geri dönüş DEBUG
) kullanmak yerine aşağıdakilerden birini daha iyi kullanın 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