Uma pergunta semelhante já foi feita emStackOverflow mas não foi dada nenhuma resposta útil e acho que se encaixa melhor aqui.
Preciso registrar os microssegundos ou milissegundos do primeiro tempo de resposta. Segui o formato fornecido na documentação do Apache 2.2http://httpd.apache.org/docs/2.2/mod/mod_log_config.html(Estou usando o Apache 2.2.3) mas não funciona. Alterei o formato do 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 está resolvido, mas está listado na documentação como um formato possível para %{format}t
. Estou usando o CentOS versão 5.8 (Final) e editei o httpd.conf com o vi. Qual poderia ser o problema aqui?
Responder1
Conforme escrito na documentação oficial que você vinculou:
%{UNIT}T
O tempo necessário para atender a solicitação, em uma unidade de tempo fornecida por UNIT. As unidades válidas são ms para milissegundos, us para microssegundos e s para segundos. Usar s dá o mesmo resultado que %T sem qualquer formato; usar-nos dá o mesmo resultado que %D. A combinação de %T com uma unidade está disponível na versão 2.2.30 e posterior.
Responder2
Não sei como resolver o problema que você está tendo com o Apache 2.2.3, mas...
Se nada mais funcionar, verifique o seguinte (dependendo da importância disso para você)
- Obtenha a versão mais recente do Apache e compile-a, pois ela não está fazendo o que deveria e pode ser um bug. Talvez funcione, não custa nada tentar
- Se isso não funcionar, edite o código e faça com que ele faça o que quiser
Acabei de testar em 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