Como prefixar logs com data e hora

1

Como prefixar todos os registros com data e hora antes que eles sejam gravados no arquivo de registro?

Digamos que estou registrando erros inesperados no crontab da seguinte maneira:

python somescript.py >> /tmp/output.log 2>&1

Existe uma maneira fácil de prefixar (talvez canalizando através de algum comando de terceiros) todas as linhas no output.log com a data e hora, para que eu saiba quando um erro ocorreu?

    
por Datageek 16.02.2012 / 00:42

1 resposta

2

Uma maneira é usar logger (1) (geralmente /bin/logger ), e simplesmente enviar tudo para syslog:

python somescript.py | logger -t somescript.py

O syslog prefixará automaticamente a hora / data na entrada do registro e gravará essas informações em /var/log/messages (ou o que for especificado em /etc/syslog.conf ).

E desta forma, você tem a vantagem de todos os utilitários normais de syslog / logrotation.

    
por 16.02.2012 / 00:48