【发布时间】:2018-12-24 13:31:53
【问题描述】:
我曾经使用这个在 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"));
}
}
我正在尝试在 spring boot 2 中做类似的事情,我尝试过使用过滤器、拦截器和执行器。我一读就失去了身体。在 Spring Boot 2 中,执行器的跟踪不支持记录主体,那么有没有其他方法可以记录请求和响应主体而不会丢失它?
【问题讨论】:
-
您可以使用Jersey LoggingFeature。有记录正文的配置选项(基于详细程度)
标签: java spring-boot logging jax-rs spring-boot-actuator