- Использование прослушивания телефонных разговоров для ведения журнала
Я настроил веб-клиент на использование функции прослушивания телефонных разговоров Netty для регистрации данных на уровне сети. для HTTP-запросов и ответов:
Код: Выделить всё
HttpClient httpClient = HttpClient.create()
.wiretap("reactor.netty.http.client.HttpClient", LogLevel.DEBUG, AdvancedByteBufFormat.TEXTUAL);
WebClient webClient = WebClient.builder()
.clientConnector(new ReactorClientHttpConnector(httpClient))
.build();
- Использование ExchangeStrategies для ведения журнала
Кроме того, я включил ведение журнала для процесса сериализации/десериализации, настроив ExchangeStrategies:
Код: Выделить всё
ExchangeStrategies strategies = ExchangeStrategies.builder()
.codecs(configurer -> configurer.defaultCodecs().maxInMemorySize(1024 * 1024 * 50))
.build();
strategies.messageWriters().stream()
.filter(LoggingCodecSupport.class::isInstance)
.forEach(writer -> ((LoggingCodecSupport) writer).setEnableLoggingRequestDetails(true));
Мои вопросы
< ol>
[*]Каковы функциональные различия между ExchangeStrategies и прослушиванием телефонных разговоров для целей отладки в WebClient?
[*]Существуют ли сценарии, в которых один метод предпочтительнее другого? >
[*]Как я могу гарантировать, что Процесс сериализации/десериализации и данные сетевого уровня подробно протоколируются?
Среда
Spring Boot: 3.3.2
Spring WebFlux: 3.3.2
Reactor Netty: 1.2.6
JDK: 17
Я ценю любые идеи или примеры, которыми вы можете поделиться в отношении этих двух подходов к ведению журнала! Спасибо.
Автор еще не пробовал ни один из методов, но хочет тщательно понять концепции и варианты использования, прежде чем пытаться их реализовать.
Подробнее здесь: https://stackoverflow.com/questions/793 ... bclient-lo