LogFormatter ist ein PHP-Script, das die verschiedensten Log-Dateien in ein einheitliches Format bringt.
Das Problem:
Unter Linux schreibt fast jedes Programm Fehler- oder sonstige Programmmeldungen in eine Log-Datei.
Leider kocht dabei jeder sein eigenes Süppchen, so dass es schwierig ist, diese Log-Dateien weiterzuverarbeiten.
Manche Programme (zum Beispiel VMWare) erzeugen zudem mehrere (oft nicht gleichförmige) Log-Dateien, die zur Fehlersuche kombiniert werden sollten, um Abläufe im Zeitkontext zu untersuchen.
Ich wollte..
[Sat Oct 03 18:44:32 2009]
finde ich dämlich)Aus Zeilen wie
[Sat Oct 03 18:44:32 2009] [notice] Apache/2.2.8 (Linux/SUSE) ... resuming normal operations(Apache error_log)
oder
Oct 4 04:31:51 mylinux su: (to root) Martin on /dev/pts/0(messages / syslog)
Date | Time | Tag | Source | Message |
---|---|---|---|---|
2009-10-03 | 18:44:32 | apache-error | notice | Apache/2.2.8 (Linux/SUSE) ... resuming normal operations |
2009-10-04 | 04:31:51 | syslog | mylinux | su (to root) Martin on /dev/pts/0 |
Dieses Format kann dann leicht beispielsweise in Excel weiterverarbeitet werden.
LogFormatter ist modular aufgebaut, d.h. es lassen sich auf einfache Weise Module für weitere Log-Formate hinzufügen.
Derzeit werden folgende Formate unterstützt:
Falls Sie eigene Module einbinden möchten, suchen Sie in logformatter.php nach dem Text "@@include logformatter classes"
Im Prinzip müssen Sie nur eine PHP Include-Datei erzeugen mit einem Inhalt wie
class TestLogFormatter extends LogFormatter { function TestLogFormatter() { LogFormatter::LogFormatter(); // set default values $this->tag = "testlog"; // tag $this->startColSource = 21; // "source" begins at column.. $this->delimEndSource = ":"; // "source" ends with string/char.. } }
In "harten Fällen" müssen Sie vielleicht noch die Methode GetDateTime() überschreiben. Diese wandelt das Datum/Zeit-Format der Logdaten ins Standardformat um.
Ansonsten muss nur noch die Zeile
Register("testlog", "TestLogFormatter");
hinzugefügt werden. In logformatter.php tragen Sie dann bei "@@include logformatter classes"
Ihre Include-Datei ein.
Bitte schicken Sie mir Ihre selbstgeschriebenen Module, damit ich sie hier zum Download bereitstellen kann.
LogFormatter muss nicht installiert werden. PHP sollte natürlich vorhanden sein ;-)
Entpacken Sie einfach das ZIP-Archiv auf Ihrem (Linux- oder Windows-) Server, öffnen Sie eine Console und geben Sie ein:
php logformatter.php --help
Im Download-Archiv ist ein Beispiel-Script logformatter-test.sh
, das die Anwendung samt folgender Sortierung zeigt. Dateinamen/Pfade darin bitte vor Benutzung anpassen!
Hier klicken zum Download von logformatter-1.0.0.zip
Zurück zur Startseite