Neben den üblichen Methoden ( Mage::Log($message); und dem Schreiben in individuelle LogFiles Mage::Log($message, null ‘LogFile’); ) ist es manchmal sehr hilfreich den Call-Stack zu sehen.
Dazu erstellen Sie zuerst eine individuelle Helper Funktion:
class Digitalvertraut_Stack_Helper_Callstack extends Mage_Core_Helper_Abstract { private function get_callstack($delim="\n") { $dt = debug_backtrace(); $cs = ''; foreach ($dt as $t) { $cs .= $t['file'] . ' line ' . $t['line'] . ' calls ' . $t['function'] . "()" . $delim; } return $cs; } public function toLog() { Mage::log($this->get_callstack(),null,'callstack.log'); } }
Dann können sie aus jeder Funktion heraus folgendes aufrufen:
Mage::helper('stack/callstack')->toLog();
und erhalten zum Beispiel solch ein Output:
2011-05-16T09:57:24+00:00 DEBUG (7): ...app/code/local/DigitalVertraut/Stack/Helper/Callstack.php line 34 calls get_callstack() ...app/app/code/local/DigitalVertraut/Competitions/controllers/CustomerController.php line 27 calls toLog() ...app/app/code/core/Mage/Core/Controller/Varien/Action.php line 376 calls balanceAction() ...app/app/code/core/Mage/Core/Controller/Varien/Router/Standard.php line 248 calls dispatch() ...app/app/code/core/Mage/Core/Controller/Varien/Front.php line 158 calls match() ...app/app/Mage.php line 459 calls dispatch() ...app/index.php line 65 calls run()