一尘不染

将POST的有效负载记录到Tomcat

tomcat

我设法通过编辑conf / server.xml并取消注释org.apache.catalina.valves.AccessLogValve
Valve的条目来在Tomcat中启用访问日志记录。我希望能够转储POST的有效内容。似乎模式中的任何选项都无法做到这一点。有内置的方法可以做到这一点吗?我是否使用AccessLogValve?


阅读 227

收藏
2020-06-16

共1个答案

一尘不染

由于没有建议使用内置方法来获取POST负载,因此我继续编写了一个自定义过滤器来转储负载的内容。特别:

public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse,
                     FilterChain chain) throws IOException, ServletException {
    HttpServletRequest request = (HttpServletRequest) servletRequest;
    LOG.debug("payload: " + requestWrapper.getRequestBody());

和web.xml:

<filter>
    <filter-name>PayloadLoggingFilter</filter-name>
    <filter-class>com.host.PayloadLoggingFilter</filter-class>
</filter>

<filter-mapping>
    <filter-name>PayloadLoggingFilter</filter-name>
    <url-pattern>/resources/*</url-pattern>
</filter-mapping>
2020-06-16