【发布时间】:2011-06-14 07:11:59
【问题描述】:
是否可以检查是否有任何请求已命中 Tomcat?类似于 Apache 服务器的 access.log。我正在使用 Tomcat 6。
【问题讨论】:
是否可以检查是否有任何请求已命中 Tomcat?类似于 Apache 服务器的 access.log。我正在使用 Tomcat 6。
【问题讨论】:
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 实例,每个实例都有自己的访问日志文件。
【讨论】:
【讨论】:
如果您需要它来调试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);
}
}
【讨论】: