Inhaltsverzeichnis
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.