Подобный вопрос уже задали на StackOverflow, но не было никакого полезного данного ответа, и я думаю, что он соответствует лучше здесь.
Я должен зарегистрировать микросекунды или миллисекунды первого времени отклика. Я следовал за форматом, данным в документации для апачских 2,2 http://httpd.apache.org/docs/2.2/mod/mod_log_config.html (я использую апачские 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
не разрешен, но это перечислено в документации как возможный формат для %{format}t
. Я использую выпуск 5.8 CentOS (Финал), и я отредактировал httpd.conf с vi. Какова могла быть проблема здесь?
Я не знаю, как решить проблему, возникшую у вас с Apache 2.2 .3, но ...
Если ничего не работает, посмотрите следующее (в зависимости от того, насколько это важно для вас)
Я только что тестировал 2.4.10, и он работает
127.0.0.1 - - [11/Oct/2015:16:37:50 -0400] 156545 "GET /cgi-bin/test.cgi HTTP/1.1" 200 175 1206218
Как написано в официальной документации, на которую вы ссылаетесь:
%{UNIT}T
Время, затраченное на обслуживание запроса, в единицах времени, заданных UNIT. Допустимые единицы измерения: миллисекунды в миллисекундах, микросекунды в миллисекундах, а в секундах - секунд. Использование s дает тот же результат, что и% T без какого-либо формата; с помощью us дает тот же результат, что и% D. Возможно комбинирование% T с единицей измерения в 2.2.30 и более поздних версиях.