我有一个用 Groovy 编写并在 Tomcat 6.0 上部署为 groovlet 的小项目。我现在的问题是我需要监视所有传入的请求并在每个请求上执行自定义日志记录。
首先,我想在每个类中包含一个输出我需要的短代码,但后来我想可能是 Tomcat 可以将每个传入的 http 请求发送/复制到我的自定义日志记录类,它会根据我的喜好对其进行解析并执行更多操作。
有可能这样做吗?如果有怎么办?
PS:Tomcat 必须是原始的 - 没有修改/自定义编译。
谢谢你。
您可以添加一个自定义过滤器来进行日志记录。
这是一个示例过滤器实现:
public class YourFilter implements Filter {
public void init(FilterConfig filterConfig) throws ServletException {
// do your initialization here
}
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain)
throws IOException, ServletException {
// do your custom logging here
}
public void destroy() {
// do whats necessary on end of life
}
}
在 web.xml 中配置/激活过滤器。
...
<filter>
<filter-name>yourFilter</filter-name>
<filter-class>org.example.YourFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>yourFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
...