Spring Webflux Reactor Netty:HTTP Request/Response 十六进制转储?
Spring Webflux Reactor Netty: HTTP Request/Response Hex Dump?
我们必须在 application.properties 中设置什么日志级别才能看到完整的 HTTP 请求和响应 headers 和 body 作为 hex 转储 在控制台中来自 reactor-netty?
logging.level.reactor.netty=trace
只显示响应 http headers。
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();
我们必须在 application.properties 中设置什么日志级别才能看到完整的 HTTP 请求和响应 headers 和 body 作为 hex 转储 在控制台中来自 reactor-netty?
logging.level.reactor.netty=trace
只显示响应 http headers。
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();