假装日志记录不起作用

新手上路,请多包涵

我正在尝试为来自 Feign rest 客户端的每个请求获取日志记录。但是我无法让日志记录工作,而“标准”Slf4j 日志记录确实有效。

我有以下内容:

 public MyClient() {
        initConnectionProperties();

        this.service = Feign.builder()
                .contract(new JAXRSContract())
                .decoder(getJacksonDecoder())
                .encoder(getJacksonEncoder())

                .requestInterceptor(new BasicAuthRequestInterceptor(user, password))
                //.client(new OkHttpClient())
                .logger(new Slf4jLogger(MyClient.class)) //not working

                .logLevel(feign.Logger.Level.BASIC)
                .target(MyClient.class, this.url);
        logger.info("Connection parameters: url = " + url + ", user = " + user); //Is working
    }

原文由 Magick 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 509
1 个回答

您需要在 application.properties 中配置日志记录,如下所示:

 logging.level.<package path>.MyClient=DEBUG

如果您使用的是 application.yml 那么:

 logging.level.<package path>.MyClient: DEBUG

可以设置日志级别来告诉 Feign 要记录多少。

选项是:

  • 无,无日志记录(默认)
  • BASIC,只记录请求方法和URL以及响应状态码和执行时间
  • HEADERS,记录基本信息以及请求和响应标头
  • FULL,记录请求和响应的标头、正文和元数据

例子:

 logLevel(feign.Logger.Level.NONE)
or
logLevel(feign.Logger.Level.BASIC)
or
logLevel(feign.Logger.Level.HEADERS)
or
logLevel(feign.Logger.Level.FULL)

有关更多详细信息,您可以参考

原文由 Maverick 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题