Erweitertes Logging in eStudy

Aus THM-Wiki
(Weitergeleitet von FirePHP)
Wechseln zu: Navigation, Suche
Important.png
Die Seite wird überarbeitet oder erweitert.
Important.png

Die Erweiterung FirePHP

FirePHP ist eine Erweiterung für den Webbrowser Mozilla Firefox, welches auf die Erweiterung Firebug aufsetzt. Mit diesem Plugin ist es möglich, Debugmeldungen aus einer PHP-Anwendung direkt auf der Firebug-Konsole auszugeben.

Verwendung in eStudy

eStudy bietet die Möglichkeit Debugausgaben nach FirePHP umzuleiten. Dies erhöht die Lesbarkeit von Debugausgaben, die ansonsten direkt innerhalb der aufgerufenen Seite platziert würden, was nicht nur das Lesen der Debugausgaben erschwert, sondern auch das Layout der Seite unkenntlich macht.

Um FirePHP mit eStudy zu verwenden, muss zunächst die Erweiterung FirePHP installiert werden. Danach muss die Datei web/common/config.inc.php dahingehend geändert werden, dass sie diesem Beispiel entspricht:

<?php
/**
 * Konfigurationsdatei mit globalen Einstellungen
 * Hier wird das $settings - Array gefüllt und verfügbar gemacht.<br />
 * Diese Datei wird von der Installationsroutine beschrieben.
 * @package eStudy.Framework
 * @version 1.3 01/10/06
 */

require_once(PATH_TO_ROOT."common/estudy_connect.inc.php");

// Verwendung von SSL-Verschlüsselung
$settings['useSSL'] = ...;

// HTTP-Port
$settings['webHttpPort'] ="80";

// HTTPS-Port
$settings['webHttpsPort'] = "443";

// Ausgabe von SQL- und PHP-Fehlern
$settings['debug'] = true;

// Use extended debug logs?
//    false                   : No extended log
//    Logging::LOGGER_FILE    : Log to file in xml format
//    Logging::LOGGER_FIREBUG : Log to Firebug console  via FirePHP
// You can combine them with bitwise OR operator '|'
$settings['debug_extended'] = Logging::LOGGER_FIREBUG

Ist die Debugausgabe und die Ausgabe an Firebug aktiviert, werden alle Debugausgaben nun in der Firebug-Konsole angezeigt. Hierzu wird innerhalb der Datei init.inc.php das Logging initialisiert:

Logging::instance($type,$logPath);

Der Logtyp entspricht den Angaben in der Datei config.inc.php, der Pfad zu den Logdateien ist optional. Wird er nicht gesetzt, wird der Standardpfad für eStudy-Logdateien verwendet. Nach dieser Initialisierung kann an jeder Stelle innerhalb von eStudy ein Logeintrag geschrieben werden:

Logging::instance()->log('ERROR: Some bad things ...', Zend_Log::ERR);

An dieser Stelle noch ein Hinweis: Die Option Logging::LOGGER_FIREBUG ist für Entwickler gedacht und sollte nicht in einer produktiven Umgebung genutzt werden.

Automatisierte Prüfung auf Fehlermeldungen

Ist eStudy für das Loggen auf der Firebug-Konsole konfiguriert, so werden künftig alle Fehler in den Antwortheader geschrieben. Die Einträge beginnen mit "X-Wf", Fehlermeldung werden als JSON-String übergeben. Hierdurch können Einträge zum Beispiel mit Apache jMeter ausgewertet werden.