Klassen-Referenz - Logger
Die Klasse Logger ist ein Tool, mit dem Logging-Aufgaben einfach und zentral
bewerkstelligt werden können. Um die Performance einer Anwendung nicht durch häufige,
verteilte und konkurrierende File-Zugriffe zu beeinträchtigen, sollte der Logger als
Singleton-Instanz erzeugt und verwendet werden. Die Logfile-Einträge werden dann am Ende eines
Requests gesammelt in das entsprechende Logfile geschrieben. Der Logger verwendet
dazu den Registry-Wert LogDir aus dem Namespace apf::core. Dieser
wird mit dem absoluten Pfad zum aktuellen Verzeichnis plus Unterordner
logs initialisiert. Soll ein anderes Log-Verzeichnis verwendet werden, so kann
der Pfad in der Bootstrap-Datei vor dem Erstellen der Page- oder des FrontController per
// Instanz der Registry beziehen $Reg = &Singleton::getInstance('Registry');
// Log-Verzeichnis anpassen $Reg->register('apf::core','LogDir','/Pfad/zu/meinem/Log/Verzeichnis');
angepasst werden. Der angegebene Pfad dient der Ablage aller Log-Dateien einer Applikation.
Hinweis: um Fehler beim Zugriff auf das Log-Verzeichnis zu vermeiden, sollte der
Pfad absolut definiert sein!
Zur Verwendung des Loggers muss dieser zunächst per
import('core::logging','Logger');
eingebunden werden. Anschließend kann per
$Log = &Singleton::getInstance('Logger');
eine Referenz auf die Instanz des Loggers im aktuellen Gültigkeitsbereich erzeugt werden. Das
Hinzufügen eines Eintrags mit dem Inhalt MESSAGE zu einem Logfile mit dem Namen
FILENAME ist mit dem Aufruf
$Log->logEntry('FILENAME','MESSAGE');
erledigt. Der dritte Parameter (optional) der Methode logEntry() definiert die
SEVERITY der Meldung und kann frei definiert werden. Für Fehler wird
üblicherweise ERROR eingesetzt, Standard ist INFO.
Kommentare
Bitte geben Sie Ihren Kommentar hier ein. Füllen Sie alle mit * gekennzeichneten Felder vollständig und korrekt aus. Um zum Artikel zurückzukehren klicken sie bitte hier. Zur Formatierung des Textes können folgende BBCode-ähnliche die Zeichen verwendet werden:- [f]..[/f]: fett
- [k]..[/k]: kursiv
- [u]..[/u]: unterstrichen
Hinweis: Formatierungszeichen in Name und E-Mail-Adresse werden nicht akzeptiert.
|