Каковы различия между ExchangeStrategies и прослушиванием телефонных разговоров для ведения журнала веб-клиента?JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Каковы различия между ExchangeStrategies и прослушиванием телефонных разговоров для ведения журнала веб-клиента?

Сообщение Anonymous »

В настоящее время я работаю с Spring WebClient и изучаю способы включения подробного журналирования в целях отладки. В частности, я рассматриваю два подхода: ExchangeStrategies и прослушивание телефонных разговоров. Ниже приведены подробности моей конфигурации:
  • Использование прослушивания телефонных разговоров для ведения журнала
    Я настроил веб-клиент на использование функции прослушивания телефонных разговоров 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();
При этом регистрируются такие детали, как заголовки, текст запроса, текст ответа и коды состояния HTTP на уровне сети.
  • Использование 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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как установить уровень ведения журнала для библиотеки elasticsearch, отличный от моего собственного ведения журнала?
    Anonymous » » в форуме Python
    0 Ответы
    36 Просмотры
    Последнее сообщение Anonymous
  • GET-запрос API относительно расшифровок телефонных разговоров
    Anonymous » » в форуме C#
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous
  • GET-запрос API относительно расшифровок телефонных разговоров
    Anonymous » » в форуме C#
    0 Ответы
    9 Просмотры
    Последнее сообщение Anonymous
  • Docker Compose + Nginx + PHP с прослушиванием Xdebug не работает
    Гость » » в форуме Php
    0 Ответы
    36 Просмотры
    Последнее сообщение Гость
  • Как добавить собственный уровень журнала в функцию ведения журнала Python
    Anonymous » » в форуме Python
    0 Ответы
    21 Просмотры
    Последнее сообщение Anonymous

Вернуться в «JAVA»