An Firebug schreiben Zend_Log_Writer_Firebug sendet Logdaten an die Firebug Console. Alle Daten werden über die Zend_Wildfire_Channel_HttpHeaders Komponente gesendet welche HTTP Header verwendet um sicherzustellen das der Seiteninhalt nicht verändert wird. Das Debuggen von AJAX Anfragen die klare JSON und XML Antworten benötigen ist mit diesem Vorgehen möglich. Notwendigkeiten: Ein Firefox Browser idealerweise Version 3 aber auch Version 2 wird unterstützt. Die Firebug Firefox Erweiterung welche unter https://addons.mozilla.org/en-US/firefox/addon/1843 heruntergeladen werden kann. Die FirePHP Filefox Erweiterung welche unter https://addons.mozilla.org/en-US/firefox/addon/6149 heruntergeladen werden kann. Loggen mit Zend_Controller_Front log('Das ist eine Lognachricht!', Zend_Log::INFO); ]]> Loggen ohne Zend_Controller_Front setRequest($request); $channel->setResponse($response); // Ausgabe buffering starten ob_start(); // Jetzt können Aufrufe an den Logger durchgeführt werden $logger->log('Das ist eine Lognachricht!', Zend_Log::INFO); // Logdaten an den Browser senden $channel->flush(); $response->sendHeaders(); ]]> Setzen von Stilen für Prioritäten Eingebaute und Benutzerdefinierte Prioritäten können mit der setPriorityStyle() Methode angepasst werden. addPriority('FOO', 8); $writer->setPriorityStyle(8, 'TRACE'); $logger->foo('Foo Nachricht'); ]]> Der Standardstil für Benutzerdefinierte Prioritäten kann mit der setDefaultPriorityStyle() Methode gesetzt werden. setDefaultPriorityStyle('TRACE'); ]]> Die unterstützten Stile sind wie folgt: Firebug Logging Stile Stil Beschreibung LOG Zeigt eine reine Lognachricht an INFO Zeigt eine Info Lognachricht an WARN Zeigt eine Warnungs Lognachricht an ERROR Zeigt eine Fehler Lognachricht an die den Fehlerzählen von Firebug erhöht TRACE Zeigt eine Lognachricht mit einem erweiterbaren Stack Trace an EXCEPTION Zeigt eine lange Fehlernachicht mit erweiterbarem Stack Trace an TABLE Zeigt eine Lognachricht mit erweiterbarer Tabelle an
Daten für das Loggen vorbereiten Wärend jede PHP Variable mit den eingebauten Prioritäten geloggt werden kann, ist eine etwas spezielle Formatierung notwendig wenn einige der spezialisierteren Logstile verwendet werden. Die LOG, INFO, WARN, ERROR und TRACE Stile benötigen keine spezielle Formatierung. Loggen von Ausnahmen Um eine Zend_Exception zu loggen muß einfach das Exceptionobjekt an den Logger übergeben werden. Es ist egal welche Priorität oder welcher Stil gesetzt wurde, da die Ausnahme automatisch erkannt wird. err($exception); ]]> Tabellen loggen Man kann auch Daten loggen und diese in einem Table Stil formatieren. Spalten werden automatisch erkannt und die erste Zeile der Daten wird automatisch der Header. setPriorityStyle(8, 'TABLE'); $logger->addPriority('TABLE', 8); $table = array('Summary line for the table', array( array('Spalte 1', 'Spalte 2'), array('Zeile 1 c 1','Zeile 1 c 2'), array('Zeile 2 c 1',' Zeile 2 c 2') ) ); $logger->table($table); ]]>