Ich habe 3 Prozesse unter meinem verdrehten Reaktor laufen: Orbited, WSGI (running django) und Twisted selbst.
Ich verwende derzeit
%Vor%Wenn alle Logs auf den gleichen Ort gerichtet sind, gibt es zu viele Überschwemmungen.
Eine Zeile meines Protokolls von WSGI ist wie folgt:
%Vor%Die Zeit wird zweimal grundsätzlich wiederholt. Ich denke, ich sollte meinen eigenen Formatierer verwenden, aber leider kann ich ihn nicht in den Dokumenten von twisted finden (es gibt nichts, was man sich dort anmeldet).
Sie können das Schlüsselwort system
auf twisted.python.log.msg
verwenden, um die Nachricht anzupassen.
Angenommen, Sie haben:
%Vor%Sie erhalten eine Protokollierung wie folgt:
%Vor% Sie könnten dann jeden Ihrer Dienste system="wsgi/orbited/..."
zu ihren Aufrufen log.msg
und log.err
hinzufügen lassen.
Ich fand diese Suche durch die Quelle, als ich das letzte Mal mit Twisted gearbeitet habe.
Heh. Ich denke genau über dieses Problem nach. Was ich entwickelt habe, ist eine separate Twisted-App, die Nachrichten protokolliert, die sie über einen Socket empfängt. Sie können die Python-Protokollierung so konfigurieren, dass sie an einen Socket sendet, und Sie können die Protokollierung von Twisted so konfigurieren, dass sie an die Python-Protokollierung gesendet wird. Sie können also alles bekommen, um Logging-Nachrichten an einen einzigen Prozess zu senden (der dann die Protokollierung von Python verwendet, um sie auf die Festplatte zu schreiben).
Ich habe einen ersten Beweis für den Konzeptcode in Ссылка
Die Hauptsache ist, dass es nett wäre, anzugeben, welche Nachricht von welcher Quelle kam. Ich bin mir nicht sicher, wie ich das noch hinzufügen könnte (ein Ansatz wäre, den Dienst auf drei verschiedenen Ports auszuführen und für jedes ein anderes Präfix zu haben).
PS Wie funktioniert der Orbited? Das ist auf meiner Liste als nächstes ...