Trotz der eher knappen und unklaren Dokumentation und einem effektiven How-To für Anfänger, bin ich zu PSGI geworden und benutze es momentan in einer meiner Anwendungen. Was ich gerne wissen würde, ist, wie ich die Protokollierung über eine Anwendung mit mehreren Knoten verwalten kann? Was gilt als "Best Practice" hinsichtlich der Anmeldung von PSGI?
Ich empfehle die Verwendung von Plack :: Middleware :: AccessLog für die Protokollierung des Zugriffs und Plack::Middleware::LogDispatch für die benutzerdefinierte Protokollierung. Beide wiederum verwenden das beliebte Modul Log :: Dispatch .
Die LogDispatch Middleware-Dokumente zeigen Ihnen derzeit nicht, wie Sie sie verwenden das Protokollierungsobjekt, sobald es eingerichtet ist. Hier ist ein Beispiel:
%Vor%Um das Problem mit mehreren Knoten zu lösen, können Sie Log :: Dispatch :: Syslog verwenden Das würde die Protokollierung an rsyslog senden, die wiederum die Protokolldaten an einen anderen rsyslog-Server weiterleiten könnte. Auf diese Weise können sich alle Knoten an einem einzigen zentralen Protokollserver anmelden.
Mit der Flexibilität von Log :: Dispatch können Sie auch loggen sowohl lokal als auch remote für Redundanz, wenn Sie möchten. Die Protokolle gesendet an der zentrale Server könnte als primär betrachtet werden, und die Protokollierung erfolgt lokal könnte als Backup betrachtet werden, wenn der zentrale Protokollserver ist für ein bisschen runter.
Die Verwendung eines zentralen Protokollservers hat mehrere Vorteile:
Ich verwende derzeit Log :: Dispach und Rsyslog auf diese Weise, um selbst einen Cluster mit mehreren Knoten zu verwalten.