2013-03-05 10 views
17

Sto utilizzando forever per eseguire l'applicazione nodo. Quando inizio per sempre, specifica dove scrivere i log. Specifico anche di aggiungere al registro. Il problema qui è che il mio registro sta per diventare fuori controllo nel corso dei mesi.Registri archivio NodeJS/Forever

C'è un modo per archiviare/rollare i registri su un intervallo, vale a dire ogni giorno tira/archivia ciò che è nel file di registro in un altro file (cioè server-2013-3-5.log). In questo modo posso cancellare/spostare i vecchi file di registro, se necessario.

Ho appena iniziato a utilizzare Winston per il mio logger e non ho trovato nulla che possa aiutare.

Qualche idea?

+0

Come lo hai risolto alla fine? – JustGoscha

risposta

34

per sempre non supporta la rotazione del registro e la rotazione del registro è ancora pending feature request per Winston.

È possibile utilizzare logrotate incluso nella maggior parte delle distribuzioni Linux e utilizzato per ruotare i file di registro del sistema, nonché utilizzato da altri software come Apache.

aggiungere un file a /etc/logrotate.d/

/path/to/server.log { 
    daily   # how often to rotate 
    rotate 10  # max num of log files to keep 
    missingok  # don't panic if the log file doesn't exist 
    notifempty # ignore empty files 
    compress  # compress rotated log file with gzip 
    sharedscripts # postrotate script (if any) will be run only once at the end, not once for each rotated log 
    copytruncate # needed for forever to work properly 
    dateext  # adds date to filename 
    dateformat %Y-%m-%d. 
} 

Vedi more logrotate examples.

+2

La rotazione del registro è ora possibile con Winston: https://github.com/flatiron/winston/pull/205 – JCM

+2

'sharedscripts':" Gli script condivisi indicano che lo script postrotate verrà eseguito una sola volta (dopo che i vecchi registri sono stati compressi), non una volta per ogni registro che viene ruotato. " [man logrotate] (http://linuxcommand.org/man_pages/logrotate8.html) –

+0

@ JCM Come si configura per sempre l'utilizzo di questa nuova funzionalità in Winston, però? Devo passare dall'uso della riga di comando all'utilizzo programmatico di sempre? – sheldonh