Verbessere deine wöchentliche Logdatei Analyse mit ein paar einfachen ” grep ” Befehlen. Verwende diese vor jedem Rollout um sicher zu gehen, dass dein Code einwandfrei funktioniert und keine Fehlermeldungen generiert. Um bei grösseren Logdateien die Übersicht zu behalten, kannst du mit ” tail ” die letzten 1000 Zeilen überprüfen, oder zunächst einfach mit ” wc -l ” schauen wie hoch die Anzahl an Fehlermeldungen überhaupt ist.
Zähle die Resultate mit ” wc -l ” am Ende.
1 |
$ grep -oi 'undefined index' system.log | wc -l |
Zeige die letzten 1000 Zeilen von system.log mit ” tail -n 1000 ” an.
1 |
$ tail -n 1000 system.log | grep -i 'undefined index' system.log |
1. System.log
1.1 Zugriffe auf ein Array mit einem Key welcher nicht existiert
1 |
$ grep -i 'undefined index' system.log |
1.2 Zugriff auf eine Variable welche nicht definiert ist
1 |
$ grep -i 'undefined variable' system.log |
1.3 Debug Ausgaben mit Mage::log() generiert
1 |
$ grep -i 'debug' system.log |
1.4 Diverse fehlgeschlagene Versuche eine Datei oder ein Verzeichnis zu erstellen oder manipulieren
1 |
$ grep -i 'permission denied' system.log |
1.5 Falsch definierte oder nicht existierende Template Dateien
1 |
$ grep -i 'not valid template file' system.log |
1.6 Fehler bei Zugriff auf ein Objekt
1 |
$ grep -i 'trying to get property of non-object' system.log |
1.7 Parameter an eine Funktion nicht korrekt übergeben
1 |
$ grep -i 'missing argument' system.log |
1.8 Ungültige Variable an eine Schleife übergeben
1 |
$ grep -i 'invalid argument supplied' system.log |
Alles mit einmal finden:
1 |
$ cat system.log | egrep -i '(debug|notice: undefined|permission denied|not valid template file|trying to get property of non-object|missing argument)' |
2. Exception.log
2.1 Generelle Probleme mit XML Dateien
1 |
$ grep -i 'xml schema' exception.log |
2.2 Spezifische Probleme mit dem Authorize.net Gateway
1 |
$ grep -i 'paygate.*gateway' exception.log |
2.3 Spezifische Probleme mit dem PayPal Gateway
1 |
$ grep -i 'paypal.*gateway' exception.log |
2.4 Generelle Probleme mit CURL
1 |
$ grep -i 'curl' exception.log |
Alle mit einmal finden:
1 |
$ cat exception.log | egrep -i '(xml schema|paygate.*gateway|paypal.*gateway|curl)' |
3. Reports
Report Dateien auf der Konsole zu überprüfen ist mühsam. Mit den folgenden Befehlen kannst du schnell die neusten 10 Reports mit einmal durchsuchen.
3.1 MySQL Verbindungen
1 |
$ ls -1t | head -10 | xargs grep -i 'mysql server' -sl |
3.2 Invalid config field
1 |
$ ls -1t | head -10 | xargs grep -i 'invalid config field' -sl |
3.3 Unable to read response
1 |
$ ls -1t | head -10 | xargs grep -i 'unable to read response' -sl |
3.4 External urls redirect
1 |
$ ls -1t | head -10 | xargs grep -i 'external urls redirect' -sl |
Alle mit einmal finden:
1 |
ls -1t | head -10 | xargs egrep -i '(mysql server|invalid config field|unable to read response|external urls redirect)' -sl |
4. Apache error logs
4.1 Fehlende Dateien im Projektverzeichnis
1 |
$ tail -n 1000 /var/log/httpd/{virtualhost}-error_log | grep -i 'file does not exist' |