在春季靴子2什么是最有效的登录身体的方式?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在春季靴子2什么是最有效的登录身体的方式?相关的知识,希望对你有一定的参考价值。
我曾经使用这个在JAX-RS的过滤器中记录我的请求
@Provider
public class RequestLoggingFilter implements ContainerRequestFilter {
@Context
private HttpServletRequest servletRequest;
@Override
public void filter(ContainerRequestContext requestContext) throws IOException {
BufferedInputStream stream = new
BufferedInputStream(requestContext.getEntityStream());
String payload = IOUtils.toString(stream, "UTF-8");
requestContext.setEntityStream(IOUtils.toInputStream(payload, "UTF-8"));
}
}
我正在尝试在春季启动2中做类似的事情,我尝试使用过滤器,拦截器和执行器。我一读到它就立刻失去了身体。在弹簧启动2中,执行器的跟踪不支持主体的记录,那么有没有其他方法来记录请求和响应主体而不会丢失它?
答案
您可能会在那里找到所需的一切:http://www.baeldung.com/spring-http-logging
Spring提供了一个内置的有效负载日志解决方案。我们可以通过使用配置插入Spring应用程序来使用现成的过滤器。
AbstractRequestLoggingFilter是一个提供日志记录基本功能的过滤器。子类应覆盖beforeRequest()和afterRequest()方法,以执行围绕请求的实际日志记录。
Spring框架提供了三个具体的实现类,可用于记录传入的请求。这三个类是:
CommonsRequestLoggingFilter Log4jNestedDiagnosticContextFilter(不建议使用)ServletContextRequestLoggingFilter现在,让我们转到CommonsRequestLoggingFilter并将其配置为捕获传入的日志记录请求。
以上是关于在春季靴子2什么是最有效的登录身体的方式?的主要内容,如果未能解决你的问题,请参考以下文章