Aumente la precisión de la marca de tiempo del registro de Apache 2.2 para incluir microsegundos

Aumente la precisión de la marca de tiempo del registro de Apache 2.2 para incluir microsegundos

Ya se hizo una pregunta similar enDesbordamiento de pila pero no se dio ninguna respuesta útil y creo que encaja mejor aquí.

Necesito registrar los microsegundos o milisegundos del primer tiempo de respuesta. Seguí el formato dado en la documentación de Apache 2.2.http://httpd.apache.org/docs/2.2/mod/mod_log_config.html(Estoy usando Apache 2.2.3) pero no funciona. Cambié el formato de registro en /etc/httpd/conf/httpd.conf a:

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

El resultado que obtengo es:

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

Por lo tanto, usec_fracno está resuelto, pero aparece en la documentación como un posible formato para %{format}t. Estoy usando CentOS versión 5.8 (Final) y edité httpd.conf con vi. Cual podría ser el problema aquí?

Respuesta1

Como está escrito en la documentación oficial que vinculó:

%{UNIT}T    

El tiempo necesario para atender la solicitud, en una unidad de tiempo dada por UNIT. Las unidades válidas son ms para milisegundos, us para microsegundos y s para segundos. Usar s da el mismo resultado que %T sin ningún formato; utilizarnos da el mismo resultado que %D. La combinación de %T con una unidad está disponible en 2.2.30 y versiones posteriores.

Respuesta2

No sé cómo solucionar el problema que estás teniendo con Apache 2.2.3, pero...

Si nada más funciona, consulte lo siguiente (dependiendo de lo importante que sea para usted)

  1. Obtenga la última versión de Apache y compílela ya que no hace lo que se supone que debe hacer y podría ser un error. Tal vez funcione, no estaría de más intentarlo.
  2. Si eso no funciona, edita el código y haz que haga lo que quieras.

Acabo de probar en 2.4.10 y funciona.

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

información relacionada