StackOverflow已经提出了类似的问题,但没有给出有用的答案,我认为这里比较适合。
我需要logging第一个响应时间的微秒或毫秒。 我遵循的文件中给出的格式apache 2.2 http://httpd.apache.org/docs/2.2/mod/mod_log_config.html (我使用的是Apache 2.2.3),但它不会工作。 我将/etc/httpd/conf/httpd.conf中的日志格式更改为:
LogFormat "%h %l %u %t %{usec_frac}t \"%r\" %>s %b %D" test
我得到的输出是:
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
所以usec_frac没有parsing,但在文档中被列为%{format}t的可能格式。 我正在使用CentOS版本5.8(最终),我用vi编辑了httpd.conf。 这里可能是什么问题?
正如你在正式文件中写到的那样:
%{UNIT}T
以UNIT提供的时间单位服务该请求所用的时间。 有效单位是毫秒,毫秒,毫秒,秒。 使用s给出与%T相同的结果,没有任何格式; 使用我们给出了与%D相同的结果。 将%T与一个单位相结合可在2.2.30及更高版本中获得。
我不知道如何解决你使用Apache 2.2.3的问题,但是…
如果没有其他的工作,看看以下(取决于这对你有多重要)
我刚刚在2.4.10上testing,它工作
127.0.0.1 - - [11/Oct/2015:16:37:50 -0400] 156545 "GET /cgi-bin/test.cgi HTTP/1.1" 200 175 1206218