zoukankan      html  css  js  c++  java
  • 笔记:Spring Cloud Feign 其他配置

    请求压缩

    Spring Cloud Feign 支持对请求与响应进行GZIP压缩,以减少通信过程中的性能损耗,我们只需要通过下面二个参数设置,就能开启请求与响应的压缩功能,yml配置格式如下:

    feign:

        compression:

            request:

                enabled: true

            response:

                enabled: true

    同时,我们还能对请求压缩做一些更细致的设置,比如指定压缩的请求数据类型,并设置了请求压缩的大小下限,只有超过这个大小的请求才会对其进行压缩,示例如下:

    feign:

        compression:

            request:

                enabled: true

                mime-types: text/xml,application/xml,application/json

                min-request-size: 2048

            response:

                enabled: true

    日志配置

    Spring Cloud Feign 在构建被 @FeignClient 注解修饰的服务客户端时,会为每一个客户端都创建一个feign.Logger 实例,我们可以利用该日志对象的DEBUG模式来帮助分析Feign 的请求细节,可以在 application.yml 中使用 loggin.level.<FeignClient> 的参数配置格式来开启指定 Feign 客户端的 Debug 日志,其中 <FeignClient> 为 Feign 客户端定义接口的完整路径,配置示例如下:

    logging:

        level:

            org.lixue.HelloWorldClient: debug

    由于Feign客户端默认的 Logger.Level 对象定义为 NONE 级别,该级别不会记录任何 Feign 调用过程的信息,所以我们需要调整他的级别,针对全局的日志级别,可以在应用主类中直接加如 Logger.Level 的 Bean,示例如下:

    @EnableFeignClients

    @EnableDiscoveryClient

    @SpringBootApplication

    public class EurekaFeignConsumerApplication {

       

            public static void main(String[] args) {

                    SpringApplication.run(EurekaFeignConsumerApplication.class, args);

            }

       

            @Bean

            Logger.Level feignLoggerLevel() {

                    return Logger.Level.FULL;

            }

    }

    如果需要设置具体的 Feign 客户端日志级别,可以实现配置类,然后在 @FeignClient 注解中指定配置,示例如下:

    @Configurable

    public class FeignConfig {

            @Bean

            Logger.Level feignLoggerLevel() {

                    return Logger.Level.FULL;

            }

    }

    然后在Feign客户端接口的 @FeignClient 注解指定配置,示例如下:

    @FeignClient (value = "ORG.LIXUE.HELLOWORLD", configuration = FeignConfig.class)

    public interface HelloWorldClient extends HelloWorldService {

       

    }

    Logger.Level 的具体级别如下:

    • NONE:不记录任何信息
    • BASIC:仅记录请求方法、URL以及响应状态码和执行时间
    • HEADERS:除了记录 BASIC级别的信息外,还会记录请求和响应的头信息
    • FULL:记录所有请求与响应的明细,包括头信息、请求体、元数据

         

  • 相关阅读:
    使用CoreData [3]
    使用CoreData [2]
    使用CoreData [1]
    [翻译] CRPixellatedView-用CIPixellate滤镜动态渲染UIView
    简易使用UILabel的富文本
    [翻译] OrigamiEngine
    [翻译] DoActionSheet
    解决tableView中cell动态加载控件的重用问题
    ARC中用代码检测一个对象有没有释放掉
    HTTP请求中浏览器的缓存机制
  • 原文地址:https://www.cnblogs.com/li3807/p/7502732.html
Copyright © 2011-2022 走看看