OpenFeign 设置超时时间和日志增强

2021-10-22 0 By admin

在使用 OpenFeign 做WebServer 客户端调用接口时,有时我们需要对接口调用过程做部分特殊设置或功能要求。如需要设置接口响应超时时间和配置接口调用过程中日志记录级别。

一、接口调用超时时间

OpenFeign 声明式接口调用过程中,默认等待接口响应为1秒钟,超过时间后就会报错。
因为 OpenFeign 是整合了 Ribbon 来执行具体的调用操作,所以如果要调整接口响应等待时间的话,需要配置 Ribbon 的配置参数。

1.1、配置接口 timeout时间

#设置feign客户端超时时间(OpenFeign默认支持ribbon)(单位:毫秒)
ribbon:
  #指的是建立连接所用的时间,适用于网络状况正常的情况下,两端连接所用的时间
  ReadTimeout: 5000
  #指的是建立连接后从服务器读取到可用资源所用的时间
  ConnectTimeout: 5000

二、OpenFeign 日志增强

OpenFeign 在执行接口调用过程中,都会打印相关的执行日志的。我们可以通过调整其打印日志的日志级别,从而获取不同程度的接口调用过程细节。

2.1、日志级别说明

  1. NONE:默认的,不显示任何日志;
  2. BASIC:仅记录请求方法、URL、响应状态码及执行时间;
  3. HEADERS:除了BASIC中定义的信息之外,还有请求和响应的头信息;
  4. FULL:除了HEADERS中定义的信息之外,还有请求和响应的正文及元数据。

2.2、配置日志Bean

import feign.Logger;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class FeignConfig
{
    @Bean
    Logger.Level feignLoggerLevel()
    {
        return Logger.Level.FULL;
    }
}

2.3、开启Feign 客户端的日志

需要在YML文件里开启Feign客户端的日志。

logging:
  level:
    # feign日志以什么级别监控哪个接口
    com.lun.springcloud.service.PaymentFeignService: debug