没有弃用方法的 WebClient 日志记录 tcpClient.bootstrap()

WebClient logging without deprecated method tcpClient.bootstrap()

我正在尝试在我的中间件应用程序中做一些日志记录,我想在其中记录后端系统的请求和响应。我想使用Netty(因为我们实现了困难的SslContext)。

我正在尝试通过本教程学习它:https://www.baeldung.com/spring-log-webclient-calls(第 4.2 章。使用 Netty HttpClient 进行日志记录)。

为了更好看的日志,有部分代码:

HttpClient httpClient = HttpClient
  .create()
  .tcpConfiguration(
    tc -> tc.bootstrap(
      b -> BootstrapHandlers.updateLogSupport(b, new CustomLogger(HttpClient.class))))
  .build()

bootstrap(...) 方法已弃用。我可以用什么代替?

如果 request/response 需要 CustomLogger(根据上面的评论),那么您可以执行以下操作:

CustomLogger customLogger = new CustomLogger(HttpClient.class);         
HttpClient httpClient = HttpClient
                .create()
                .doOnRequest((request, connection) -> {
                    connection.addHandlerFirst(customLogger);
                });