Pat*_*Pat 7 java spring-webflux
关于 Java Spring Webflux WebClient 和窃听日志记录的快速问题。
我目前正在使用 Java 和 SpringBoot Webflux WebClient 2.5.0 发出出站 http 请求(我是源),我需要发出 http 请求(到目标)。
我像这样制作出站 http 客户端:
webClientUtil.getWebClient().mutate().baseUrl(someUrl).build().post().body(BodyInserters.fromValue(someRequest)).exchangeToMono(clientResponse -> clientResponse.bodyToMono(SomeResponse.class));
Run Code Online (Sandbox Code Playgroud)
我想记录请求和响应,因此,我编写以下代码:
final HttpClient httpClient = HttpClient.create().wiretap("reactor.netty.http.client.HttpClient", LogLevel.INFO, AdvancedByteBufFormat.HEX_DUMP)
Run Code Online (Sandbox Code Playgroud)
在 Util 类中:
public WebClient getWebClient() {
final HttpClient httpClient = HttpClient.create().wiretap("reactor.netty.http.client.HttpClient", LogLevel.INFO, AdvancedByteBufFormat.HEX_DUMP).metrics(true, Function.identity()).proxy(proxy -> proxy.type(ProxyProvider.Proxy.HTTP).host(proxyUrl));
return WebClient.create().mutate().defaultHeader(HttpHeaders.CONTENT_TYPE, MediaType.APPLICATION_JSON_VALUE, HttpHeaders.ACCEPT, MediaType.APPLICATION_JSON_VALUE).clientConnector(new ReactorClientHttpConnector(httpClient)).build();
}
Run Code Online (Sandbox Code Playgroud)
(WebClient植入已经测试并正常工作)
我将日志记录级别设置为 INFOlogging.level.root=INFO
请注意日志级别是信息,窃听也是信息。
不幸的是,我没有看到任何额外的日志。
请问我做错了什么?
谢谢你!
任何 logback.xml 文件会覆盖配置吗?
我在一些测试中遇到了类似的问题,并通过在我的中解决它logback-test.xml:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<include resource="org/springframework/boot/logging/logback/base.xml" />
<logger name="reactor.netty" level="debug"/>
</configuration>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5386 次 |
| 最近记录: |