/web/core/core.log.php

Description

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:

  1.  // ein Hinweis
  2.   trigger_error("Die Daten wurden erfolgreich gespeichert.",E_USER_NOTICE);
  3.  // oder (für alle, die es hassen, mit einer "error"-Funktion eine Erfolgsmeldung auszugeben,
  4.  //       genauso wie zum "beenden" erst auf "start" clicken zu müssen. thx@bill für den hinweis ;-))
  5.   LogNotice("Die Daten wurden erfolgreich gespeichert.");
  6.  
  7.  // ein Fehler
  8.   trigger_error("dsad@sa@xx.x ist keine gültige Emailadresse.",E_USER_WARNING);
  9.  
  10.  // ein fataler Fehler
  11.   trigger_error("Du bist nicht berechtigt diese Seite zu betreten.|Seite: adminsection",E_USER_ERROR);
  12.  
  13.  // ein Eintrag in den action-Log
  14.   LogAction("der Text xxxxx wurde geändert.");

  • license: COPYING
  • copyright: © 2001-2007 The FLIP Project Team
  • version: $Id: core.log.php 1484 2007-10-15 22:18:05Z loom $
  • author: Moritz Eysholdt
Classes
Class Description
LogMsg Die Klasse LogMsg stellt die einfachste Form einer nachricht da, wie sie z.B. von den Funktionen LogAction() und LogNotice() erstellt wird.
ErrorMsg Die Klasse ErrorMsg ergänzt die Klasse LogMsg um Informationen, die zum Debuggen wichtig sind.
Constants
CORE.LOG.PHP = 1 (line 61)

Die Datei nur einmal includen

E_FLIP_SYSERROR = 33 (line 63)
Functions
DisplayErrors (line 559)

Die Funktion DisplayErrors() gibt alle Nachtichten aus.

Sie sollte nur zu Debuggingzwecken verwendet werden.

void DisplayErrors ()
GetErrors (line 255)

Die Funktion GetErrors() gibt eine Liste der bis jetzt aufgetretenen Nachrichten zurück.

  • return: gibt ein Array mit Instanzen der Klassen LogMsg und ErrorMsg zurück, welche die aufgetretenen Nachrichten näher beschreiben. Sind keine Nachrichten aufgetreten wird False zurückgegeben.
array GetErrors ()
LogAction (line 460)

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

void LogAction (string $Message)
  • string $Message: die Nachricht
LogCacheActivate (line 422)
void LogCacheActivate ()
LogCacheFlush (line 429)
void LogCacheFlush ()
LogChange (line 471)

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

void LogChange (string $Message)
  • string $Message: die Nachricht
LogDBUpdate (line 482)

Die Funktion LogChange() schreibt eine Nachricht in den dbupdate-Log.

void LogDBUpdate (string $Message)
  • string $Message: die Nachricht
LogNetLog (line 510)

Die Funktion LogNetLog() schreibt einen Datensatz in die Tabelle TblPrefix().flip_netlog

void LogNetLog ($Action $Action, $Description $Description, [unknown $aUser = NULL], [string $aSession = ""], [string $IP = ""], [string $HostName = ""], [ $UserAgent = ""])
  • unknown $aUser
  • string $aSession
  • string $IP
  • string $HostName
  • $Action $Action
  • $Description $Description
  • $UserAgent
LogNotice (line 493)

Die Funktion LogNotice() gibt eine Nachricht aus und schreibt diese in den notice-Log.

void LogNotice ($Message $Message)
  • $Message $Message: die Nachricht.
LogRegisterErrorHook (line 402)

Die Funktion LogRegisterErrorHook() initialisiert das Log-System.

Sie wird aus der Datei core.php aufgerufen, weitere Aufrufe sind nicht nötig.

void LogRegisterErrorHook ()
LogSaveAsCookie (line 438)
void LogSaveAsCookie ()
old_Except (line 236)

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)

  • return: gibt ein Array mit Instanzen der Klassen LogMsg und ErrorMsg zurück, welche in der Zwischenzeit aufgetretenen Nachrichten näher beschreiben. Sind keine Nachrichten aufgetreten wird False zurückgegeben.
  • see: old_Try()
array old_Except ([boolean $ShowErrors = true])
  • boolean $ShowErrors: gibt an, ob die in der Zwischenzeit aufgetretenen Nachrichten angezeigt werden sollen.
old_Try (line 217)

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)

void old_Try ()
SetFatalErrorCallback (line 393)

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.

void SetFatalErrorCallback (string $func)
  • string $func: der Name der Callbackfunktion.
_DoCacheLog (line 414)
void _DoCacheLog ( $msg)
  • $msg
_LogLoadCookie (line 445)
void _LogLoadCookie ()

Documentation generated on Mon, 22 Oct 2007 17:17:18 +0200 by phpDocumentor 1.3.1