Como alterar o formato do registro de data e hora nos registros de erros?

5

Gostaria de ter os registros de data e hora em meu registro de erro Nginx iguais aos meus registros de acesso.

Os tempos de erro têm o formato Y/m/d H:i:s , enquanto os registros de acesso me permitem:

  • d/M/Y:H:i:s O ($ time_local) ou
  • Y-m-d\TH:i:sO ($ time_iso8601)

Existe alguma maneira de definir meus logs de acesso para usar o formato do log de erros ou vice-versa?

Estou executando o Nginx 1.10.1 no CentOS 7.

Atualização:

Como minha pergunta foi recusada, tentarei ser bem clara -

A diretiva access_log me permite definir o registro de data e hora usado nos logs de acesso, embora pareça que eu tenha apenas duas opções de formato. por exemplo:

log_format foo '[$time_local] "$request" $status ..';
log_format bar '[$time_iso8601] "$request" $status ..';

Eu posso aplicar esses formatos para acessar registros como este:

access_log foo.log foo;
access_log bar.log bar;

O acompanhamento de todos os registros mostra os diferentes formatos de hora, por exemplo,

==> foo.log <==
[29/Sep/2016:10:20:48 +0100] "GET /fail HTTP/1.1" 404 ..

==> bar.log <==
[2016-09-29T10:20:48+01:00] "GET /fail HTTP/1.1" 404 ..

==> error_log <==
2016/09/29 10:37:52 [error] .....  No such file or directory

Nem $time_local nem $time_iso8601 correspondem ao formato usado no log de erros padrão do Nginx. Eu tentei resolver isso de duas maneiras:

  1. Configure o log de erros para usar $time_locale ou $time_iso8601 .
    ~ Eu não consegui encontrar nenhuma diretiva que possa fazer isso.
  2. Configure o formato de horário do log de acesso para corresponder ao formato de hora do log de erros.
    ~ Eu não consegui encontrar nenhuma variável que possa fazer isso.

Não sou casado com nenhum formato de horário específico, mas gostaria que eles correspondessem em meus registros de erro, pois isso me poupa tempo ao cruzar referências de acesso e entradas de log de erros.

Se alguém souber como alcançar 1. ou 2. acima, eu adoraria saber. Obrigado.

    
por Tim 28.09.2016 / 15:37

1 resposta

2

Infelizmente, parece que não é possível alterar o formato error_log , pelo menos de acordo com e este .

Também não parece possível alterar o formato do campo de tempo nos registros de acesso, então eu acho que você está sem sorte com uma solução puramente NGINX.

Dito isto, deve ser possível enviar ambos para o syslog e esperar que ele use o mesmo formato, ou pelo menos lhe ofereça melhores opções.

    
por 29.09.2016 / 17:26

Tags