类 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)
-
字段概要
字段 -
构造器概要
构造器 -
方法概要
修饰符和类型方法说明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) 在执行前一刻被触发。voiddoFilter(javax.servlet.ServletRequest i_ServletRequest, javax.servlet.ServletResponse i_ServletResponse, javax.servlet.FilterChain i_FilterChain) void执行异常后被触发。voidsucceed(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
-
字段详细资料
-
$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- 抛出:
IOExceptionjavax.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- 用户自定义的数据
-