Fehleranalyse mit Hilfe von Logfiles

Allgemeines

Auftretende Fehler im Betrieb eines Webauftrittes werden in sogenannten 'Logfiles dokumentiert. Diese sind im Verzeichnis logs nach dem Muster <vweb-name>.error.log gespeichert.

Fehlertypen

Die Einträge können bei der Analyse eines Fehlverhaltens der installierten Webanwendung helfen; so werden Syntax-Fehler für Scriptsprachen (PHP, Perl) aber auch fehlerhafte Zugriffe (Verweis auf Dateien, die nicht existieren oder in einem fremden Dokumentenstammverzeichnis abgelegt sind) protokolliert.

Die Einträge werden stets mit einem Zeitstempel (entspricht der Serverzeit) versehen. Auch wird die Art des Fehlers sowie eine kurze Zusammenfassung angegeben.

Hinweis, Warnungen und fatale Fehler

Gerade bei der Verwendung einer serverseitig ausgeführten Scriptsprache wie PHP sind die Hinweise in der Regel sehr präzise; so wird die Wichtigkeit eines Fehlers mit den Schlagworten Notice, Warning oder Fatal Error signalisiert.

Während ein Hinweis die Ausführung der Anwendung nicht unterbricht, so wird die Ausführung eines Scriptes bei fatalen Fehlern unterbunden. Hinweise beziehen sich beispielsweise auf undefinierte Indizes in Arrays. Das Script ist in einem solchen Falle in der Regel weiter lauffähig, allerdings wird bei einer Nutzung eines undefinierten Indexes NULL angenommen, was die Ausführung des Scriptes an einer späteren Stelle durchaus weiter beeinträchtigen kann.

Beispiel:

$testarray = [
    "eins" => "Wert eins",
    "zwei" => "Wert zwei",
];

echo $testarray['drei'];

Dieses Beispiel würde einen Hinweis erzeugen, da der Key drei nicht definiert ist.

Eine Warnung bezieht sich auf logische Fehler, die Teile des Scriptablaufs beeinträchtigen. Häufige Gründe für eine Warnung sind beispielsweise fehlende Argumente bei einem Funktionsaufruf.

So wird die nachfolgende beispielhafte foreach-Schleife

Beispiel:

//$aepfel = array('Braeburn', 'Decio', 'Gala', 'Golden Delicious');

foreach($aepfel as $apfel) {
     echo $apfel;
}

eine Fehlermeldung nach dem Muster

[Wochentag Monat Tag Zeit Jahr] [:error] [pid xxxxx] [client xxx.xxx.xxx.xxx:xxxxx] PHP Warning:  Invalid argument supplied for foreach() in /web/<nutzerkennung>/www/<vweb-name>/<dateiname> on line xx, referer: <Verweis>

ausgeben, da das Array $aepfel auskommentiert wurde und somit nicht existiert.