类 LogFilter

java.lang.Object
org.hy.common.xml.plugins.XSQLFilter
org.hy.microservice.common.LogFilter
所有已实现的接口:
EventListener, javax.servlet.Filter, org.hy.common.xml.event.XRequestListener

@WebFilter(filterName="logFilter",urlPatterns="/*",initParams={@WebInitParam(name="exclusions",value="*.js,*.gif,*.jpg,*.png,*.css,*.ico,*.swf,*.txt,*.log,*.xml,*.md"),@WebInitParam(name="cachesize",value="1000"),@WebInitParam(name="timeout",value="60")}) public class LogFilter extends org.hy.common.xml.plugins.XSQLFilter implements org.hy.common.xml.event.XRequestListener
启用Filter需要在Springboot的启动类加@ServletComponentScan
版本:
v1.0 v2.0 2023-08-09 添加:接口模块编号和URL地址,允许更细粒度的控制黑白名单 添加:黑白名单的命中率功能,提高黑白名单的判定性能 v3.0 2023-08-11 添加:延时单线程队列周期性的处理日志的持久化 v4.0 2023-08-16 添加:Web请求接口 @XRequest 的事件监监听器接口,支持它接口的日志、黑白名单等功能 修正:小概率未记录 "访问量达到上限" 的日志 v5.0 2023-09-01 添加:没有配置 @RequestMapping(name) 的方法不记录访问日志 v6.0 2023-11-30 添加:接口的个性化 "访问量达到上限" 的限制
作者:
ZhengWei(HY)
  • 字段概要

    字段
    修饰符和类型
    字段
    说明
    static String
    字符集
  • 构造器概要

    构造器
    构造器
    说明
     
  • 方法概要

    修饰符和类型
    方法
    说明
    org.hy.common.Return<Object>
    before(javax.servlet.http.HttpServletRequest i_Request, javax.servlet.http.HttpServletResponse i_Response, org.hy.common.xml.plugins.AppMessage<?> io_RequestData, String i_Message)
    在执行前一刻被触发。
    void
    doFilter(javax.servlet.ServletRequest i_ServletRequest, javax.servlet.ServletResponse i_ServletResponse, javax.servlet.FilterChain i_FilterChain)
     
    void
    fail(org.hy.common.xml.plugins.AppMessage<?> i_RequestData, Exception i_Exception, Object i_Other)
    执行异常后被触发。
    void
    succeed(org.hy.common.xml.plugins.AppMessage<?> i_RequestData, org.hy.common.xml.plugins.AppMessage<?> i_ResponseData, Object i_Other)
    执行成功后被触发。

    从类继承的方法 org.hy.common.xml.plugins.XSQLFilter

    clearLogs, destroy, getLogs, init, logs, logXSQL, setLogs

    从类继承的方法 java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • 字段详细资料

    • $CharacterEncoding

      public static String $CharacterEncoding
      字符集
  • 构造器详细资料

    • LogFilter

      public LogFilter()
  • 方法详细资料

    • doFilter

      public void doFilter(javax.servlet.ServletRequest i_ServletRequest, javax.servlet.ServletResponse i_ServletResponse, javax.servlet.FilterChain i_FilterChain) throws IOException, javax.servlet.ServletException
      指定者:
      doFilter 在接口中 javax.servlet.Filter
      覆盖:
      doFilter 在类中 org.hy.common.xml.plugins.XSQLFilter
      抛出:
      IOException
      javax.servlet.ServletException
    • before

      public org.hy.common.Return<Object> before(javax.servlet.http.HttpServletRequest i_Request, javax.servlet.http.HttpServletResponse i_Response, org.hy.common.xml.plugins.AppMessage<?> io_RequestData, String i_Message)
      在执行前一刻被触发。
      指定者:
      before 在接口中 org.hy.common.xml.event.XRequestListener
      参数:
      i_Request - 请求对象
      i_Response - 响应对象
      io_RequestData - 请求数据
      i_Message - 请求数据的原始报文
      返回:
      当返回 false 时,中断 "执行"。 当返回 true 时,执行接口调用
    • succeed

      public void succeed(org.hy.common.xml.plugins.AppMessage<?> i_RequestData, org.hy.common.xml.plugins.AppMessage<?> i_ResponseData, Object i_Other)
      执行成功后被触发。
      指定者:
      succeed 在接口中 org.hy.common.xml.event.XRequestListener
      参数:
      i_RequestData - 请求数据
      i_ResponseData - 响应数据
      i_Other - 用户自定义的数据
    • fail

      public void fail(org.hy.common.xml.plugins.AppMessage<?> i_RequestData, Exception i_Exception, Object i_Other)
      执行异常后被触发。
      指定者:
      fail 在接口中 org.hy.common.xml.event.XRequestListener
      参数:
      i_RequestData - 请求数据
      i_Exception - 异常数据
      i_Other - 用户自定义的数据