In passato ho usato il syslog-logger
gioiello per questo
È possibile impostare questa funzione in un inizializzatore:
config.logger = Logger::Syslog.new("site1", Syslog::LOG_LOCAL5)
Nelle versioni recenti di rubino, c'è anche syslog/logger
in la libreria standard - l'utilizzo è praticamente lo stesso.
Per avviare la registrazione su syslog anziché sul file di testo predefinito. Quello che succede dopo è una cosa di configurazione syslog - è necessario creare regole rsyslog che definiscono dove i dati va
La cosa più semplice possibile, sarebbe qualcosa di simile
!site1 /var/log/site1.log
che dirige il tutto con il nome del programma "sito1" (il primo argomento di Logger :: Syslog).
C'è ancora molto altro da fare, ad esempio è possibile inoltrare i messaggi di registro a un server di registrazione centrale che li aggrega tutti in un unico file in modo da non avere un solo file di registro per ciascuna istanza dell'app. .
Per la rotazione del registro, utilizzo logrotate: credo che rsyslog possa effettivamente gestire questo tipo di elementi internamente ma non conosco i dettagli.
fonte
2012-05-29 17:26:28
Mi spiace di non aver ancora commentato questo, non ho visto, che c'era una risposta. Ci provo la prossima settimana - grazie! –
Syslog :: LOG_LOCAL5 - non c'è un errore di battitura qui? –
Manca solo una chiusura). Oltre a questo è venuto direttamente dal file di configurazione di un'applicazione di produzione. –