我们必须在 application.properties 中设置什么日志级别才能在 reactor-netty 的控制台中以 hex dump 的形式查看完整的 HTTP 请求和响应以及 header 和正文?
logging.level.reactor.netty=trace
仅显示响应 http header 。
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Content-Length: 248
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Content-Type-Options: nosniff
X-Frame-Options: DENY
X-XSS-Protection: 1 ; mode=block
Referrer-Policy: no-referrer
最佳答案
保持日志记录级别为 DEBUG 或 TRACE 并按照以下说明操作:
- 如果您想查看服务器的
hex dump
,您可以像这样自定义它:
@Component
public class MyNettyWebServerCustomizer
implements WebServerFactoryCustomizer<NettyReactiveWebServerFactory> {
@Override
public void customize(NettyReactiveWebServerFactory factory) {
factory.addServerCustomizers(httpServer -> httpServer.wiretap(true));
}
}
- 如果您想查看客户端的
hex dump
,那么您可以像这样自定义它:
WebClient.builder()
.clientConnector(new ReactorClientHttpConnector(HttpClient.create().wiretap(true)))
.build();
关于spring-webflux - Spring Webflux Reactor Netty : HTTP Request/Response Hex Dump?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55275393/