Feign 的日志配置

一.介绍

Spring Cloud Feign 在构建被@FeignClient 注解修饰的服务客户端时,会为每一个客户端都创建一个 Feign 的 Logger 实例,我们可以利用该日志对象的 DEBUG 模式来帮助分析 Feign的请求细节。

二.怎么用?

项目用 eureka-feign-hystrix-client,[参考文章链接](https://blog.csdn.net/weixin_40991408/article/details/103892328)

2.1 在配置文件application.yml 中添加 Feign 日志的配置,代码如下:

logging:
  level:
    #feign 接口类的路径
    com:
      example:
        eurekafeignhystrixclient:
          inter:
            FeignHystrixInter: debug

这个配置表示的意思是,在调用 FeignHystrixInter 接口时做debug日志的输出。

2.2 创建一个 Feign 日志 的配置类
但是,只是添加了如上配置,还无法实现对 DEBUG 日志的输出。 这是由于 Feign 客户端默认的 Logger.Level 对象定义为NONE 级别,该级别不会记录任何 Feign 调用过程中的信息,所以我们需要调整它的级别,针对全局的日志级别。

创建一个 FeignLogConfig 的配置类,代码如下:

package com.example.eurekafeignhystrixclient.fallbackfactory.inter;

import com.example.eurekafeignhystrixclient.inter.FeignHystrixInter;

//继承 @FeignClient 注解的 接口类
public interface UserFeignClientWithFactory extends FeignHystrixInter {
}

2.3 启动 eureka-serve,eureka-client (8762,8763 两个端口),eureka-feign-hystrix-client , 浏览器访问 http://localhost:8761/
在这里插入图片描述
在浏览器上 输入 :http://localhost:8767/FeignHystrixController/hi/java,得到结果如下:
在这里插入图片描述
在这里插入图片描述
Feign 的日志级别 变为 debug。

关掉eureka-client (8762,8763 两个端口 )服务,结果如下:
在这里插入图片描述
在这里插入图片描述

2.4 如何配置多个 Feign 接口类 的 调用日志,代码如下:

logging:
  level:
    #feign 接口类的路径(这个配置表示的意思是,在调用 FeignHystrixInter 接口时做debug日志的输出。)
    com:
      example:
        eurekafeignhystrixclient:
          inter:
            FeignHystrixInter: debug
            # 如何配置多个 Feign 接口类 的 调用日志
            # FeignHystrixInter2: debug
            # FeignHystrixInter3: debug
            # FeignHystrixInter4: debug
发布了33 篇原创文章 · 获赞 42 · 访问量 3157

猜你喜欢

转载自blog.csdn.net/weixin_40991408/article/details/103904204