Srping Cloud

73 阅读1分钟

OpenFenign

日志

日志级别分为4种

  • NONE :不记录人任何日志(默认值)【性能最佳,适用于生产】
  • BASIC :记录请求方法、请求URL、状态码和响应时间 【适用于生产环境追踪问题】
  • HEADERS :在BASIC级别的基础上,记录请求和响应的头信息
  • FULL :在HEADERS级别的基础上,记录请求和响应的正文及元数据。
# application.yml
logging:
  level: #debug 这里设置将会是所有的日志都将是debug
    com.xxx.order.feigen: debug    

局部接口日志

     /**
        全局配置:当使用@Configuration 会将配置作用所有的服务提供方
        局部配置:如果指向针对某一个服务进项配置,就不要加@Configuration
     */
     @Configuration
     public class FenignConfig{
         @Bean
         public Logger.Level feignLoggerLevel{
             // 枚举
             return Logger.Level.FULL
         }
     }
    feign:
      client:
        config:
          order-service: # 服务名
              LoggerLevel: BASIC

@FenignClient中配置如下

 @FenignClient(configuration=FeignConfig.class)

设置超时时间

  • 全局配置
     @Configuration
     public class FenignConfig{
         @Bean
         public Request.Options options{
             return Request.Options(5000,10000)
         }
     }
  • yml 配置
    feign:
      client:
        config:
          order-service: # 服务名
             # 连接超时时间 默认2秒
            connectTimeout: 5000
            # 请求处理超时时间 默认5秒
            readTimeout: 10000

契约配置

主要是为了向下兼容1.x 版本

  • 全局配置
     @Configuration
     public class FenignConfig{
         @Bean
         public Contract feignContract{
             return new Contract.Default();
         }
     }
  • yml 配置
    feign:
      client:
        config:
          order-service: # 服务名
            contract: feign.Contract.Default