> 文章列表 > springboot从2.1.3升级到2.3.5后控制台自动输出http请求日志RequestResponseBodyMethodProcessor

springboot从2.1.3升级到2.3.5后控制台自动输出http请求日志RequestResponseBodyMethodProcessor

springboot从2.1.3升级到2.3.5后控制台自动输出http请求日志RequestResponseBodyMethodProcessor

1. springboot从2.1.3升级到2.3.5后控制台自动输出http请求日志RequestResponseBodyMethodProcessor和RequestMappingHandlerMapping


推荐使用第二个方案简单 明了 方便 快捷


停止输出如下日志方案:

DEBUG org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor Read "application/json;charset=UTF-8" to [QueryData(pageNo=1, pageSize=10, sortField=, sortOrder=asc, params={Q_XM_S_EQ=llsydn, Q_SJH_S_EQ=135 (truncated)...]

方案一

第一步定义TurboFilter

public class MyTurboFilter extends TurboFilter {
@Override
public FilterReply decide(Marker marker, Logger logger, Level level, String format, Object[] params, Throwable throwable) {
if (logger.getName().equals(“org.springframework.web.servlet.mvc.method.annotation.RequestResponseBodyMethodProcessor”)) {
return FilterReply.DENY; //返回accept
}
return FilterReply.NEUTRAL;
}
}

关于logback自带过滤器

logback提供了两种过滤器:正则过滤器与turbo过滤器。

正则过滤器:正则过滤器继承于抽象类Filter,Filter本质上只包含以ILoggingEvent为入参的一个方法decide()。

基于Ternary Logic,过滤器以排序列表的形式组合在一起。系统按照这个顺序调用每个过滤器的decide(ILoggingEvent event)方法。decide方法返回结果是枚举类FilterReply(DENY, NEUTRAL, ACCEPT其中一个)。返回值为DENY时,日志事件直接丢弃这条日志,不会再传递给剩下的过滤器。返回值为NEUTRAL时,则传递给下面的过滤器。返回值为ACCEPT时,日志事件立即处理这条日志,跳过调用其它过滤器。

其中: FilterReply 含义如下springboot从2.1.3升级到2.3.5后控制台自动输出http请求日志RequestResponseBodyMethodProcessor

第二步配置logback

logback的配置XML

<configuration><!-- 自定义类的路径 --><turboFilter class=".MyTurboFilter" />......
</configuration>

方案二

直接配置logback的配置XML

<configuration><!-- 自定义类的路径 --><logger name="org.springframework.web.servlet.mvc.method.annotation" leverl ="off" />......
</configuration>

推荐使用第二个方案简单 明了 方便 快捷


QQ头像