Apache hat cross-platform logging libraries, mit denen Sie aus verschiedenen Programmiersprachen mit ähnlichen APIs protokollieren können. Leider haben sie keine Python-API, obwohl Sie in der Lage sein sollten, sie mit log4cpp und Boost.Python aufzurollen.
Ein Projekt, an dem ich arbeite, verwendet eine dieser Bibliotheken, um sich bei einer Datenbank anzumelden, was uns eine "verteilte Protokollierung" mit einem zentralen Ort für die Protokollnachrichten ermöglicht. Ich muss zugeben, dass ich kein Fan davon bin. Ein anderes Projekt, an dem ich arbeite, verwendet eine dieser Bibliotheken, um sich bei der nativen Protokollierungsfunktion anzumelden. Das Windows-Ereignisprotokoll verfügt über einige Funktionen für die verteilte Protokollierung, das AFAIK-Syslog jedoch nicht.
Obwohl ich keine Erfahrung damit habe, kann eine bessere Passform Facebook's Scribe Projekt sein. Das Feature-Set entspricht Ihren Anforderungen, einschließlich einer Python-API. Leider verwendet es Thrift, das für C++ unter Windows nicht funktioniert (das heißt, der Thrift-Compiler erzeugt C++ - Code, der nur unter UNIX funktioniert). Sie können dieses Problem mit Cygwin umgehen, aber ich kann nicht versprechen, dass dieser Ansatz funktioniert.
Syslog unterstützt verteilte Protokollierung. Der klassische syslogd unterstützt das Weiterleiten von Nachrichten an einen anderen Host mit der Syntax '@ hostname'. Siehe Abschnitt "Remote Machine" in der Manpage syslog.conf: http://linux.die.net/man/5/syslog.conf –
Scribe sieht sehr interessant aus, ich untersuche es gerade. – recipriversexclusion