multiprocessing logging Fehler bei RotatingFileHandler

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
Boa
User
Beiträge: 190
Registriert: Sonntag 25. Januar 2009, 12:34

Hallo,

Ich habe (entgegen eurer berechtigten Empfehlung dies nicht zu tun) eine Datenbank verwendet um logging von mehreren Prozessen zu ermöglichen. Das klappt auch gut, solange man nicht zuviel Wert auf Performance legt. Nun habe ich folgendes Problem. Wenn der RotatingFileHandler umschaltet kommt es zu einem Fehler. Ich denke es handlt sich dabei um diesen Bug: http://bugs.python.org/issue4749, da die Fehlermeldung übereinstimmt. In dem Ticket stellt sich heraus, dass das Fehlverhalten durch das erzeugen von Subprozessen entsteht. Wie, das habe ich nicht verstanden. Ich erzeuge zwar keine Prozesse wie dort beschrieben, aber mit multiprocessing scheint das gleiche Problem zu bestehen.
Nur damit keine Missverständnisse entstehen: Ich verwende die RotatingFileHandler lediglich in einem Thread. Nicht in mehreren Prozessen/Threads. Die Clienten nutzen einen DBHandler, der Logging Statements in eine Datenbank schreibt. Der "Server" liest zyklisch die Meldungen der verschiedenen Prozesse und nutzt den jeweils konfigurierten Logger um die Meldungen auszugeben.

Könnt ihr mir anhand des Tickets genauer erklären was da schief läuft bzw. wie man das verhindern kann? Ich steige erst Mal auf einen herkömmlichen Filehandler um, aber die Dateien werden ganz schön groß nach ein paar Tagen :)

Thx,
Boa
Boa
User
Beiträge: 190
Registriert: Sonntag 25. Januar 2009, 12:34

Ich habe den Handler nicht richtig hinzugefügt, weshalb aus mehreren Prozessen geloggt wurde. :roll:
Antworten