Aumenta a precisão do registro de data e hora do log do apache 2.2 para incluir microssegundos

2

Já foi feita uma pergunta semelhante em StackOverflow mas não houve uma resposta útil dada e acho que se encaixa melhor aqui.

Eu preciso registrar os microssegundos ou milissegundos do primeiro tempo de resposta. Eu segui o formato dado na documentação do apache 2.2 link (estou usando o apache 2.2. 3) mas não vai funcionar. Eu mudei o formato de log em /etc/httpd/conf/httpd.conf para:

LogFormat "%h %l %u %t %{usec_frac}t \"%r\" %>s %b %D" test

A saída que recebo é:

IPaddress - - [10/Oct/2015:19:47:46 +0200] usec_frac "GET /w/images/thumb/f/fa/Wikiquote-logo.svg/35px-Wikiquote-logo.svg.png HTTP/1.1" 200 1931 86

Portanto, usec_frac não foi resolvido, mas está listado na documentação como um possível formato para %{format}t . Estou usando o CentOS release 5.8 (Final) e editei o httpd.conf com o vi. Qual poderia ser o problema aqui?

    
por mchief90 11.10.2015 / 16:55

2 respostas

0

Como escreveu na documentação oficial que você vinculou:

%{UNIT}T    

The time taken to serve the request, in a time unit given by UNIT. Valid units are ms for milliseconds, us for microseconds, and s for seconds. Using s gives the same result as %T without any format; using us gives the same result as %D. Combining %T with a unit is available in 2.2.30 and later.

    
por 15.12.2015 / 17:58
-1

Eu não sei como consertar o problema que você está tendo com o Apache 2.2.3, mas ...

Se nada mais funcionar, observe o seguinte (dependendo de como isso é importante para você)

  1. Obtenha a versão mais recente do apache e compile-a, já que ela não está fazendo o que deveria e pode ser um bug. Talvez funcione, não faria mal tentar
  2. Se isso não funcionar, edite o código e faça o que quiser

Acabei de testar no 2.4.10 e funciona

127.0.0.1 - - [11/Oct/2015:16:37:50 -0400] 156545 "GET /cgi-bin/test.cgi HTTP/1.1" 200 175 1206218
    
por 11.10.2015 / 17:16