Как включить ведение журнала времени отклика в Jetty 7 - PullRequest
8 голосов
/ 23 февраля 2011

Apache и Tomcat упрощают регистрацию времени отклика в журнале доступа к серверу (с шаблоном% D), но мне не удалось найти какую-либо эквивалентную поддержку в Jetty, либо по умолчанию NCSARequestLog, либо используя logback-доступ (моя предпочтительная настройка регистрации).

Есть ли способ заставить Jetty регистрироваться в эти времена? Я мог видеть возможность использовать какой-то пользовательский обработчик для сбора этой информации и сделать ее доступной для обработчика журналов, но я надеюсь, что что-то вроде StatisticsHandler может сделать это для меня, так как он явно уже отслеживает эту информацию генерировать его совокупную статистику.

Ответы [ 3 ]

6 голосов
/ 25 февраля 2011

Звоните setLogLatency(true) на NCSARequestLog

2 голосов
/ 25 июня 2013

Хорошее подробное объяснение того, как включить регистрацию времени ответа через конфигурацию, можно найти здесь: Контроль задержки в журнале запросов Jetty

Сводка:

Открыть [JETTY HOME] /etc/jetty.xml.

Найтиsection.

Добавить имя набора = «logLatency»> true в список настроек.

Сохраните его и перезапустите Jetty.

0 голосов
/ 03 июня 2018

Используя logback access 1.1.0 или новее, вы можете использовать слово преобразования %elapsedTime, чтобы получить время ответа в мс. От 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
...