Spring Cloud OpenFeign 打印详细日志

日志的开关永远那么难找。

Spring Boot 项目中,OpenFeign 的日志,是每 Client 独立定义的。

假设有以下 FeignClient 定义:

1
2
3
4
5
6
import org.springframework.cloud.openfeign.FeignClient;

@FeignClient(name = "foo")
public interface FooClient {
  ...
}

如果需要打印该 Client 调用的详细日志,可以在配置文件中定义:

1
2
3
4
5
feign:
  client:
    config:
      foo:
        loggerLevel: full

注意 feign.client.config.<client_name>.loggerLevel 中, client_name 需要与代码中的定义一致(上例中是 foo)。

Feign 支持四种日志级别:

  • none 不打印日志
  • basic 打印请求方法、URL、响应码及响应时间
  • headers 同时打印请求和响应头的信息
  • full 同时打印请求和响应体信息,以及其它附加的元信息

参考