• Spring Cloud Feign的自定义配置及使用

    Feign 提供了很多的扩展机制,让用户可以更加灵活的使用,这节我们来学习 Feign 的一些自定义配置。

    日志配置

    有时候我们遇到 Bug,比如接口调用失败、参数没收到等问题,或者想看看调用性能,就需要配置 Feign 的日志了,以此让 Feign 把请求信息输出来。

    首先定义一个配置类,代码如下所示。

    @Configuration
    public class FeignConfiguration {
        /**
         * 日志级别
         *
         * @return
         */
        @Bean
        Logger.Level feignLoggerLevel() {
            return Logger.Level.FULL;
        }
    }

    通过源码可以看到日志等级有 4 种,分别是:

    • NONE:不输出日志。
    • BASIC:只输出请求方法的 URL 和响应的状态码以及接口执行的时间。
    • HEADERS:将 BASIC 信息和请求头信息输出。
    • FULL:输出完整的请求信息。

    Feign 日志等级源码如下图所示:

    public enum Level {
        NONE,
        BASIC,
        HEADERS,
        FULL
    }

    配置类建好后,我们需要在 Feign Client 中的 @FeignClient 注解中指定使用的配置类,代码如下所示。

    @FeignClient(value = "eureka-client-user-service", configuration = FeignConfiguration. class)
    public interface UserRemoteClient {
        // ...
    }

    在配置文件中执行 Client 的日志级别才能正常输出日志,格式是“logging.level.client 类地址=级别”。

    logging.level.net.biancheng.feign_demo.remote.UserRemoteClient=DEBUG

    最后通过 Feign 调用我们的 /user/hello 接口,就可以看到控制台输出的调用信息了,如图 1 所示。

    调用信息
    图 1  调用信息

更多...

加载中...