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()

Fallstudien

