java 如何使用Spring Webflux更新threadContext Webclient窃听日志记录

nc1teljy  于 2023-06-28  发布在  Java
关注(0)|答案(1)|浏览(130)

bounty将在5天内到期。此问题的答案有资格获得+50声望奖励。mememoremore希望引起更多关注这个问题。

使用窃听功能,我可以看到WebClient执行请求时生成的日志。但是,日志不包含我在主程序中用threadContext.put语句设置的值。我明白这是因为窃听是在不同的线程。有没有办法执行threadContext.put的窃听以及?

7ivaypg9

7ivaypg91#

也许过滤器功能可以帮助你在这里。

WebClient.builder()
            .baseUrl("https://api.example.com")
            .filter((request, next) -> {
                    String value = ThreadContext.get(variableName);
                    if (value != null) {
                        LOGGER.LOG(value);
                    }
                return next.exchange(request);
            })
            .build();

相关问题