Как проверить, попадает ли пакет в Tomcat - PullRequest
4 голосов
/ 14 июня 2011

Можно ли проверить, попал ли какой-либо запрос в Tomcat? что-то похожее на access.log сервера Apache. Я использую Tomcat 6.

Ответы [ 3 ]

7 голосов
/ 14 июня 2011

Apache Tomcat предоставляет каталог конфигурации conf , который содержит файл server.xml .В нижней части этого файла строка с регулировочным клапаном, называемая AccessLogValve , должна быть закомментирована и изменена.

Параметры и шаблоны клапанов по умолчанию можно легко изменить либо с помощью редактора, либо с помощью приложения.Это достаточно подробный файл журнала, который можно использовать для метрик доступа:

<Valve
   className="org.apache.catalina.valves.AccessLogValve."
   directory="logs"
   prefix="sitename_acc."
   suffix=".log"
   pattern='%a %A %b %B %h %l %m %p %q %u %t "%r" %s %U %D %S'
   resolveHosts="false"
   rotatable="true"
   fileDateFormat="yyyy-MM-dd"
/>

Вы можете даже запустить несколько экземпляров tomcat одновременно, каждый со своим собственным файлом журнала доступа.

3 голосов
/ 14 июня 2011
0 голосов
/ 14 июня 2011

Если вам это нужно для отладки фильтра, определенного в web.xml, это может быть полезно:

<filter>
    <filter-name>MyFilter</filter-name>
    <filter-class>org.example.MyFilter</filter-class>
</filter>
<filter-mapping>
    <filter-name>MyFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

В вашей реализации фильтра MyFilter у вас есть доступ к ServletRequest, и вы можете, например, переменные сеанса доступа:

public class MyFilter implements Filter
{
  public void doFilter(ServletRequest request, ServletResponse response,
                       FilterChain chain) throws IOException, ServletException
  {
    chain.doFilter(request, response);
  }
}
...