Martin Austermeier .\\.\ pc software

LogFormatter

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

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)
macht LogFormatter
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.

Unterstützte Formate

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:

Erweiterungen

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.

Benutzung

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!

Download

Hier klicken zum Download von logformatter-1.0.0.zip



Zurück Zurück zur Startseite