gpt4 book ai didi

Java Spring Boot - 使用有效载荷记录响应

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:24:09 25 4
gpt4 key购买 nike

我目前正在使用 Spring Boot 将请求/响应日志记录集成到 REST 服务中。对于请求,我选择了 Spring 提供的 CommonsRequestLoggingFilter:

@Bean
public CommonsRequestLoggingFilter requestLoggingFilter() {
CommonsRequestLoggingFilter loggingFilter = new CommonsRequestLoggingFilter();
loggingFilter.setIncludeClientInfo(false);
loggingFilter.setIncludeQueryString(true);
loggingFilter.setIncludePayload(true);
loggingFilter.setMaxPayloadLength(1024);

return loggingFilter;
}

在配置文件中:

logging.level.org.springframework.web.filter.CommonsRequestLoggingFilter=DEBUG

但是对于reponses,好像没有对应的类?在 Spring 中是否有类似的方法来记录服务器响应?

编辑:具体来说,我在上述设置中看到的在 BeforeRequest 中没有任何内容:

2017-06-28 09:32:32.258 DEBUG 22872 --- [http-nio-8081-exec-2] o.s.w.f.CommonsRequestLoggingFilter      : Before request [uri=/someApp/someObject]

作为 AfterRequest 的请求负载:

2017-06-28 09:32:32.272 DEBUG 22872 --- [http-nio-8081-exec-2] o.s.w.f.CommonsRequestLoggingFilter      : 
After request [uri=/someApp/someResource;payload={
"someObject": {
"lastName": "Doe",
"reference": "123456789"
}
}
]

并且实际响应在日志中无处可寻。

最佳答案

没关系,

我最终实现了自己的过滤器,它也可以记录响应。基于 GenericFilterBean,包装 HttpResponse 和 HttpRequest,因此流不会关闭。

Spring 提供了一个用于记录请求但不用于响应的类,这对我来说仍然很奇怪......

关于Java Spring Boot - 使用有效载荷记录响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44776146/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com