Como incluir milissegundos em syslogs?

4

Eu configurei o arquivo rsyslog.conf em /etc para incluir meus próprios registros como syslogs em um arquivo em /var/logs .

Mas depois de abrir o arquivo, recebi isso:

Jun 5 10:09:09 lab-Altos-G330-Mk2 slog[19689]: Hello1
Jun 5 10:09:09 lab-Altos-G330-Mk2 slog[19689]: Hello2

Aqui, o timestamp tem apenas a segunda resolução. Eu quero saber como configurar rsyslog para exibir milissegundos também?

    
por RaulGupta 05.06.2016 / 14:05

1 resposta

7

Por padrão, rsyslog usa o timestamp tradicional, que no formato do comando date seria:

%b %d %H:%M:%S

Isso é ativado pela seguinte linha em /etc/rsyslog.conf :

$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat 

Para ativar o registro de data e hora de alta precisão, comente a linha:

# $ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat 

que tornará o timestamping rsyslog no formato RFC 3339.

O formato RFC 3339 pode ser simulado pelo comando date :

% date '+%Y-%m-%dT%H:%M:%S.%6N%:z'
2016-06-05T18:27:58.721607+06:00

Ou ainda mais curto:

% date '+%FT%T.%6N%:z'      
2016-06-05T18:29:32.569776+06:00

Ou usando a opção --rfc-3399 nativa:

% date --rfc-3339=ns
2016-06-05 18:31:50.897557592+06:00
    
por heemayl 05.06.2016 / 14:17