0

有没有办法用假装弹簧客户端只记录身体?使用 Log.level 我似乎只能包含带有完整日志记录的正文,在这种情况下,它也会打印标题。我不想在日志中看到。

4

1 回答 1

0

默认Logger使用Log.Level来控制记录的内容并以附加的方式工作。这意味着上升级别会记录更多信息。要自定义此行为,您需要提供自己的Logger实现。具体来说,您可以扩展其中一个包含的记录器并自定义logAndRebufferResponse方法:

public class MyLogger extends JavaLogger {
     protected Response logAndRebufferResponse(String configKey,
                                        Level logLevel,
                                        Response response,
                                        long elapsedTime) {
        // only log the response data, skip the headers
     }
}

接下来,将此记录器包含在您的 Feign 配置中。

 API api = Feign.builder()
                 .logger(new MyLogger())
                 .logLevel(Logger.Level.FULL)
                 .target(API.class, "https://api.example.com");

这个 Feign Client 的所有实例现在都将使用你的 logger。

于 2019-08-21T14:25:27.010 回答