Nonostante la documentazione poco chiara e poco chiara e un'efficace How-To per i principianti, mi sono appassionato a PSGI e attualmente lo utilizzo in una delle mie applicazioni. Quello che vorrei sapere è come gestisco la registrazione su un'applicazione multi-nodo? Cosa è considerato "migliore pratica" per quanto riguarda la registrazione in PSGI?Registrazione PSGI (Perl)
risposta
Si consiglia di utilizzare Plack::Middleware::AccessLog per la registrazione dell'accesso e Plack::Middleware::LogDispatch per la registrazione personalizzata. Entrambi usano a loro volta il popolare modulo Log::Dispatch.
I documenti di LogDispatch Middleware attualmente non mostrano come utilizzare l'oggetto di log una volta impostato. Ecco un esempio:
my $app = sub {
my $env = shift;
$env->{'psgix.logger'}->({ level => "debug", message => "This is debug" });
return [ 200, [], [] ];
};
Per affrontare il problema, multi-nodo, è quindi possibile utilizzare Log::Dispatch::Syslog che avrebbe inviato la registrazione a rsyslog, che potrebbe a sua volta per passare i dati di log su un altro server rsyslog. In questo modo, tutti i nodi possono accedere a un singolo server di registrazione centrale.
Con la flessibilità di Log :: Dispatch, si ha anche la possibilità di accedere sia localmente che da remoto per la ridondanza, se volete. I registri inviati a il server centrale potrebbero essere considerati primari e la registrazione eseguita localmente potrebbe essere considerata backup nel caso in cui il server di registro centrale sia inattivo per un po '.
utilizzo di un server log centrale ha diversi vantaggi:
- si puo 'grep' tuoi log attraverso l'intero cluster in un unico luogo.
- La rotazione e l'analisi del registro sono più semplici con un set di file di registro.
- È meglio prepararsi a scalare il cluster su e giù, poiché è possibile chiudere un nodo senza preoccuparsi di perdere la registrazione o mantenere il server attivo in modo tale che un processo cron overnight possa essere attivato per elaborare i registri.
Attualmente utilizzo Log :: Dispach e Rsyslog insieme in questo modo per gestire personalmente un cluster a più nodi.
- 1. nginx e Perl: FastCGI vs reverse proxy (PSGI/Starman)
- 2. Registrazione dall'output in Perl
- 3. Quale modulo di registrazione utilizzare in AnyEvent di Perl?
- 4. Come includere la registrazione in un modulo Perl?
- 5. Registrazione
- 6. interfacce di registrazione e registrazione delle dipendenze
- 7. Errori di registrazione PHP in registrazione
- 8. Registrazione NSNotifications
- 9. Registrazione asincrona
- 10. Installare automaticamente la dipendenza perl in perl
- 11. Perl nessun avviso 'experimental' su perl vecchio
- 12. Come ridefinire le funzioni di Perl incorporate?
- 13. Registrazione registrazione in Play Framework all'avvio del test automatico
- 14. Design/Code Dispatcher per un sistema di registrazione a registrazione
- 15. Vantaggi della registrazione rispetto a print() + buone pratiche di registrazione
- 16. Salvataggio del profilo con la registrazione nella registrazione di Django
- 17. Registrazione e annullamento della registrazione di BroadcastReceiver in un frammento
- 18. strumento di registrazione di registrazione BLU di azure blob/analitica?
- 19. È corretto cambiare l'IO di Perl predefinito in utf-8 mentre si usano Plack e Middlewares?
- 20. Devise conferma di registrazione
- 21. registrazione con filtri
- 22. vs 2008 express: registrazione
- 23. Impostazione registrazione GWT
- 24. Registrazione buffer di protocollo
- 25. registrazione con Vala
- 26. Metodo di registrazione generico
- 27. registrazione video personalizzati Orientamento
- 28. Modulo di registrazione Magento
- 29. Registrazione per Supervisord
- 30. caso d'uso Dichiarazione Registrazione
[Plack :: Middleware :: AccessLog] (http://p3rl.org/Plack::Middleware::AccessLog) –
Stai parlando solo dei log di accesso o del log in generale? –