zoukankan      html  css  js  c++  java
  • 转发:tomcat的acess_log打印post请求参数,分析日志

    转载自:https://blog.csdn.net/qq_30121245/article/details/52861935

    1) 在项目中加入相应的包和类,加载那里无所谓,只要web.xml配置正确即可

    package filters; 

    import java.io.IOException
    import java.util.Enumeration; 

    import javax.servlet.*; 

    public final class PostDataDumperFilter implements Filter { 

    private FilterConfig filterConfig = null; 

    public void destroy() { 
    this.filterConfig = null; 


    public void doFilter(ServletRequest request, ServletResponse response,FilterChain chain) throws IOExceptionServletException { 
    if (filterConfig == null) 
    return; 

    Enumeration names = request.getParameterNames(); 
    StringBuffer output=new StringBuffer(); 
    while (names.hasMoreElements()) { 
    String name = (String) names.nextElement(); 
    output.append(name+"="); 
    String values[] = request.getParameterValues(name); 
    for (int i = 0; i < values.length; i++) { 
    if (i > 0) output.append("' "); 
    output.append(values[i]); 

    if(names.hasMoreElements()) output.append("&"); 

    request.setAttribute("post", output); 
    chain.doFilter(request, response); 


    public void init(FilterConfig filterConfig) throws ServletException { 
    this.filterConfig = filterConfig; 



    2) 配置web.xm,一般在路径 main/webapps/WEB-INF/web.xml: 
    <filter> 
    <filter-name>post-data-dumper-filter</filter-name> 
    <filter-class>filters.PostDataDumperFilter</filter-class> 
    </filter> 
    <filter-mapping> 
    <filter-name>post-data-dumper-filter</filter-name> 
    <url-pattern>/*</url-pattern> 
    </filter-mapping> 

    3) now you have the attribute postdata for each request and you can easily log it in access valve, for example: 

    <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" 
                    prefix="localhost_access_log." suffix=".txt" 
                    pattern='%h %p %H %l %u %t "%r" params={%{post}r} %s %bbytes %Dms' resolveHosts="false"/>

  • 相关阅读:
    help python(查看模块帮助文档)
    Vim常用快捷键
    tar 解压缩
    目前的学习计划
    学习方向
    C#转Python计划
    困惑的屌丝,求方向。。。
    修改PYTHONPATH的一种方法(在Window平台和Ubuntu下都有效)
    使用正则表达式统计vs项目代码总行数[转]
    日常工作细节汇总
  • 原文地址:https://www.cnblogs.com/yaohuimo/p/9098241.html
Copyright © 2011-2022 走看看