Причал: как писать для доступа к журналам - PullRequest
0 голосов
/ 22 августа 2009

В своем коде Java-сервлета я хочу иметь возможность программной записи в журнал доступа к причалу. Я знаю, что Jetty будет автоматически регистрировать каждый входящий HTTP-запрос в журнал доступа. Однако мой сервлет должен иногда добавлять свою собственную строку в журнал доступа. Кто-нибудь здесь делал что-то подобное?

Спасибо!

Ответы [ 4 ]

3 голосов
/ 22 августа 2009

Я думаю, что Лиспник на правильном пути. Вы хотите получить дескриптор NCSARequestLog, описанного в http://docs.codehaus.org/display/JETTY/Logging+Requests, и отправлять сообщения журнала непосредственно ему, вызывая log (). Таким образом, вы хотите найти место в вашем коде, которое в данный момент настраивает NCSARequestLog, и подставить измененную версию кода, которая будет возвращать указатель на созданный им журнал.

2 голосов
/ 24 августа 2014

Если кто-то спотыкается здесь, ища то же самое, то это еще одна из тех вещей, которую причал делает легко, но документация плохая. В любом случае, для Jetty 9 вы просто добавляете jetty-requestlog.xml, который является файлом от $JETTY_HOME/etc/ до $JETTY_HOME/etc/jetty.conf, чтобы начать работу с базовым журналом запросов. Вы должны перезагрузить сервер, чтобы конфигурация вступила в силу.

1 голос
/ 03 октября 2014

Кстати, другой способ сделать то же самое в Jetty 9 - добавить три строки, следующие (от здесь ) в разделе "Handlers" в $JETTY_HOME/etc/jetty.xml:

<Item>
    <New id="RequestLog" class="org.eclipse.jetty.server.handler.RequestLogHandler"/>
</Item>

и, на конце раздела "Handlers", добавьте следующий код:

<Ref id="RequestLog">
  <Set name="requestLog">
    <New id="RequestLogImpl" class="org.eclipse.jetty.NCSARequestLog">
     <Arg><SystemProperty name="jetty.logs" default="./logs"/>/yyyy_mm_dd.request.log</Arg>
      <Set name="retainDays">90</Set>
      <Set name="append">true</Set>
      <Set name="extended">false</Set>
      <Set name="LogTimeZone">GMT</Set>
     </New>
  </Set>
</Ref>

То есть эти разделы должны выглядеть как раздел "Настройка журналов запросов для сервера Jetty" на этой странице .

1 голос
/ 22 августа 2009

Подкласс и настройка: http://docs.codehaus.org/display/JETTY/Logging+Requests

...