Как включить регистрацию времени ответа в Jetty 7
Apache и Tomcat позволяют легко регистрировать время ответа в журнале доступа к серверу (с шаблоном %D), но я не смог найти эквивалентной поддержки в Jetty, либо сNCSARequestLog
или с помощью logback-access (моя предпочтительная настройка ведения журнала).
есть ли способ получить причал, чтобы войти в это время? Я видел, что можно использовать пользовательский обработчик для сбора этой информации и сделать ее доступной обработчику ведения журнала, но я надеюсь что-то вроде StatisticsHandler
может сделать это для меня, поскольку он явно уже отслеживает эту информацию для создания своей совокупной статистики.
3 ответов
хорошее подробное объяснение того, как включить регистрацию времени ответа через конфигурацию, находится здесь: мониторинг задержки в журнале запросов причала
резюме:
открыть [JETTY HOME] / etc / jetty.XML.
найдите раздел .
добавить имя набора= "logLatency" >true в список сеттеров.
сохраните его и перезапустите причал.
используя logback access 1.1.0 или более поздней версии, вы можете использовать %elapsedTime
conversion word, чтобы получить время ответа в МС. От https://logback.qos.ch/manual/layouts.html:
D / elapsedTime The time taken to serve the request, in milliseconds. T / elapsedSeconds The time taken to serve the request, in seconds.
например, через:
<pattern>%h %l %u [%t] "%r" %s %b "%i{Referer}" "%i{User-Agent}" %elapsedTime{}ms</pattern>
вывод:
0:0:0:0:0:0:0:1 - - [03/Jun/2018:08:07:12 +1200] "GET /actuator/health HTTP/1.1" 200 15 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36" 3ms