Die Datei core.log.php übernimmt die Aufgabe der Fehlerbehandlung und des Loggens.
Die Logdateien werden in der Config-Section "log" definiert.
Es gibt vier verschiedene Logdateien und "Nachrichtenarten", wobei jede Nachrichtenart eine Logdatei besitzt. Zu jedem Eintrag in eine Logdatei werden noch Datum, Uhrzeit und die SessionID gespeichert. Daher ist es nicht nötig in einer Nachricht den Namen des Users aufzuführen der sie verursacht hat.
Es besteht die Möglichkeit zu Nachrichten, die mittels der Funktion trigger_error() ausgegeben werden, Debuginformationen hinzuzufügen um den Fehler später besser reproduzieren zu können. Diese Informationen werden nicht an User ausgegeben, die nicht berechtigt sind sie einzusehen. Die Debuginformationen werden zu einer Nachricht hinzugefügt, indem die Meldung das Zeichen "|" enthält. Der Text davor ist die eigentliche Nachricht, dahinter folgen die Debuginfos, welche auch Zeilenumbrüche enthalten dürfen.
Es gibt Folgende Nachrichtenarten: -notice: Eine Bemerkung, die den User auf etwas hinweist. Dies können auch Erfolgsmeldungen ("Daten wurden gespeichert.") sein. -warning: Eine Fehlermeldung, der Script wird aber weiterhin ausgeführt. Dies können Meldungen sein, die den User auf falsche Formulareingaben hinweisen. -error: Eine Fehlermeldung, der Script wird daraufhin sofort beendet. Das bedeutet, dass der Code, der sich hinter der Stelle befindet, an welcher die Error-Meldung ausgegeben wurde, nicht mehr ausgeführt wird. Dies sind kritische Fehler wie z.B. fehlende Userrechte. -action: Es wird keine Meldung ausgegeben, sondern nur in die Logdatei geschrieben. Der action-Log dient dazu, Protokoll über die Tätigkeiten des Users zu führen, nicht im Sinne des "Big Brothers" sondern um später nachvollziehen zu können, wer wann welche Daten geändert hat.
Beispiele:
Die Funktion DisplayErrors() gibt alle Nachtichten aus.
Sie sollte nur zu Debuggingzwecken verwendet werden.
Die Funktion GetErrors() gibt eine Liste der bis jetzt aufgetretenen Nachrichten zurück.
Die Funktion LogAction() schreibt eine Nachricht in den action-Log. Nähere Informationen zum action-Log befinden sich in der Dokumentation zu der Datei core.log.php
Die Funktion LogChange() schreibt eine Nachricht in den change-Log. Nähere Informationen zum change-Log befinden sich in der Dokumentation zu der Datei core.log.php
Die Funktion LogChange() schreibt eine Nachricht in den dbupdate-Log.
Die Funktion LogNetLog() schreibt einen Datensatz in die Tabelle TblPrefix().flip_netlog
Die Funktion LogNotice() gibt eine Nachricht aus und schreibt diese in den notice-Log.
Die Funktion LogRegisterErrorHook() initialisiert das Log-System.
Sie wird aus der Datei core.php aufgerufen, weitere Aufrufe sind nicht nötig.
Die Funktion old_Except() beendet die Ausgabesperre von Nachrichten welche mit der Funktion old_Try() begonnen wurde.
WARNUNG! die Funktion old_Except() ist veraltet, da PHP 5 try & catch nativ unterstützt. (hoffe das funzt auch)
Mit der Funktion old_Try() kann die Ausgabe von Nachrichten bis zum Aufruf von old_Except() unterbunden werden. old_Try() und old_Except() haben auf das Logging keinerlei Einfluss.
WARNUNG! die Funktion old_Try() ist veraltet, da PHP 5 try & catch nativ unterstützt. (hoffe das funzt auch)
Die Funktion SetFatalErrorCallback() setzt eine Benutzerdefinierte Funktion zur Ausgabe von von fatalen Fehlern. (Fatale Fehler beenden das Script)
Die Callbackfunktion bekommt einen Parameter übergeben, welcher eine Instanz der Klasse ErrorMsg ist. Diese enthält Informationen über den aufgetretenen Fehler.
Documentation generated on Mon, 22 Oct 2007 17:17:18 +0200 by phpDocumentor 1.3.1