Echtzeit Log File verarbeiten

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
BasterTWO
User
Beiträge: 75
Registriert: Donnerstag 25. Oktober 2007, 20:03

Liebe Pythonfreunde,
ich wollte mal fragen wie ich mein Problem am besten angehe.

Ich würde gerne ein Log File analysieren und das aktiv also wird das Log File der ganzen Zeit geschrieben. Das heißt die Analyse muss auch immer in Echtzeit geagieren z.B. im Log steht ein Error dann soll sofort eine Funktion aufegrufen werden die das dann bearbeitet.

1. Wie soll ich das Log File in echt Zeit analysieren ?
2. Mit welchem Modul wenn es eins gibt mache ich das habe mir schon mal http://docs.python.org/lib/module-logging.htmlangeschaut aber ist halt eben nur um Logs zu erstellen ?
3. Wie kann ich bei einem bestimmten Eintrag sofort eine Funktion aufrufen ?

Ich kann mir jetzt schon denken das dies sehr komplex wird da alles in Echtzeit Läuft.

Viele Grüße
BasterTWO
Zuletzt geändert von BasterTWO am Montag 5. November 2007, 17:03, insgesamt 1-mal geändert.
BlackJack

So kompliziert ist das gar nicht. Entweder du "pipe"st die Logdatei direkt in das Pythonprogramm oder die Ausgabe von ``tail -f logdatei``. Dann musst Du Python mit der Option `-u` aufrufen, damit die Eingabe nicht gepuffert wird, also immer sofort verarbeitet wird.

Im Programm selbst kann man dann mit einer Schleife über `sys.stdin` die Eingabe zeilenweise verarbeiten und entweder mit den Methoden und Operationen auf Zeichenketten oder mit Hilfe des `re`-Moduls bestimmte Zeilen erkennen.
Antworten