Seit der Version 1.6 bietet das Zend Framework eine sehr komfortable Möglichkeit Loggingausgaben direkt an Firefox zu senden, ohne den eigentlichen Seiteninhalt zu verändern. Dazu müssen die Erweiterungen Firebug und FirePHP installiert sein. Die eigentliche Log Information, die im PHP Code erzeugt wird, wird dabei über den HTTP Header zu Firebug gesendet.

Von einer Methode eines Zend_Controller_Action heraus lässt sich dies mit wenigen Codezeilen realisieren (nutzt man den MVC Rahmen des Frameworks nicht, so sind einige zusätzliche Schritte notwendig, ein Beispiel ist hier in der Doku zu finden):

$logger = new Zend_Log(new Zend_Log_Writer_Firebug());
$logger->log('Das ist eine Lognachricht!', Zend_Log::INFO);
$logger->log('Das ist eine noch wichtigere Lognachricht!', Zend_Log::WARN);
$logger->log('Das ist eine extrem wichtige Lognachricht!', Zend_Log::ERR);

Dies führt zu folgender Ausgabe in Firebug
Screenshot Firebug FirePHP
Wirft man einen Blick auf die HTTP Antwort des Servers, so findet man die zusätzlichen Zeilen im Header, welche die Logging Informationen im JSON Format enthalten.

HTTP/1.x 200 OK
Date: Wed, 22 Oct 2008 16:33:37 GMT
Server: Apache/2.2.9 (Win32) DAV/2 mod_ssl/2.2.9 OpenSSL/0.9.8h mod_autoindex_color PHP/5.2.6
X-Powered-By: PHP/5.2.6
X-Wf-Protocol-1: http://meta.wildfirehq.org/Protocol/JsonStream/0.1
X-Wf-1-Structure-1: http://meta.firephp.org/Wildfire/Structure/FirePHP/FirebugConsole/0.1
X-Wf-1-Plugin-1: http://meta.firephp.org/Wildfire/Plugin/ZendFramework/FirePHP/0.1
X-Wf-1-1-1-1: |[{"Type":"INFO"},"Das ist eine Lognachricht!"]|
X-Wf-1-1-1-2: |[{"Type":"WARN"},"Das ist eine noch wichtigere Lognachricht!"]|
X-Wf-1-1-1-3: |[{"Type":"ERROR"},"Das ist eine extrem wichtige Lognachricht!"]|
X-Wf-1-Index: 3
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Transfer-Encoding: chunked
Content-Type: text/html

Ein sehr gutes Beispiel ist auch in der Zend Dokumentation zu finden.

Ähnliche Beiträge

  1. Zend Framework – ein Überblick
  2. Tutorial – Formularverarbeitung mit dem Zend Framework

3 Kommentare zu “Logging mit dem Zend Framework und Firebug in Firefox”

  1. Daff

    Hi Tobi.

    Wie ich sehe beschäftigst du dich momentan etwas mehr mit dem Zend Framework. Abgesehen von den einzelnen Funktionen die du hier vorstellst und durch die ich mich dann mal wühle wie ist der Gesamteindruck z.B. im Vergleich zu Cakephp? Einarbeitungszeit? Doku? Mein letzter Stand ist Version 0.9 / 1.0 und ich glaube da hat sich einiges getan. Besonder wichtig wäre mir ein anständiger Object Relationaler Mapper (ich versuche nach bestem Wissen und Gewissen SQL zu vermeiden ;) und ich habe gelesen, dass den ZFW inzwischen auch hat…
    Viele Grüße aus Übersee

     
  2. Tobi

    Hi David,

    umso mehr ich mir vom ZF anschaue, um so mehr gefällt es mir. Es ist schon eine stattliche Sammlung an Funktionen, die schnell überzeugt wenn man einfach gewisse Probleme schon hatte.
    Die Einarbeitungszeit ist sehr überschaubar. Ich bin am überlegen ob ich ein umfassenderes und zusammenhängendes Tutorial schreiben soll. Wenn es die Zeit erlaubt, werde ich vielleicht mal einen ersten Teil verfassen. Ist die Nachfrage dann da, kann ich es ja weiterführen.

    Die Dokumentation ist hervorragend. Mit vielen Beispielen und in zahlreichen Sprachen. Auch die API Doku ist so umfangreich und vollständig wie man es von Java her kennt. Wer schlecht Dokumentierte Projekte und Bibliotheken kennt wird sich hier wie im Paradies vorkommen. Das ist wirklich so!

    Eine zusätzliche Abstraktionsebene für den Datenbankzugriff bringt das ZF natürlich mit und der ist aus meiner Sicht eine der tragenden Argumente das Framework zu nutzen. Hier liegt aber auch der Ursprung von Gegenstimmen: die Klassen, welche dies realisieren haben vor allem bei kleinen Anfragen doch einen bemerkenswerten Overhead.

    Seit Version 1.0 hat sich eine ganze Menge getan, die letzten Versionen hat man doch sehr viel Wert auf Features gelegt. Das soll sich künftig Ändern: die Kritik an der Performance ist auch bei den Entwickler angekommen und bei der kommenden Version 1.7 (PreRelease ist bereits raus) soll hier nachgebessert werden. Ich bin gespannt.

    Viele Grüße aus dem scheena Minga ;)
    Tobi

     
  3. Zend Framework: XMLRPC request und response debuggen « devgeek.de: news, tutorials und links by Mark Buch

    [...] Wir erstellen hier ganz einfach ein Zend_Log Objekt, dem wir einen Streamwriter für Textdateien übergeben. Alternativ ist damit auch das Loggen in eine Datenbank oder in Firebug/FirePHP. Hier findest Du speziell dazu ein gutes Tutorial: http://blog.aditu.de…logging-framework-und-firebug-in-firefox/ [...]

     

Hinterlasse eine Antwort