关于springcloud中openfeign中服务调用日志输出

在使用openfeign进行服务调用的时候,我们可以通过一些配置,获取到服务调用的日志输出,可以从消费端看到日志

有两种方法:一、使用配置类;二、使用配置文件配置

日志输出级别有四种:

NONE:不输出(默认)

BASIC:只输出请求方式、url、请求成功与否

HEADERS:输出请求头的部分信息等

FULL:BASIC+HEADERS ,四种输出中最完整的日志输出,包括了接口返回

一、使用配置类

主要包含步骤:

1、配置日志输出配置类

复制代码
import feign.Logger;
import org.springframework.context.annotation.Bean;


/**
 * 添加 @Configuration 表示全局的,而不添加该注解表示当前服务
 */
//@Configuration
public class FeignConfig {

    @Bean
    public Logger.Level level(){
        return Logger.Level.FULL;
    }
复制代码

2、在application.yml中配置日志输出级别

#springboot默认日志级别为info,feign的debug不会输出,所以就添加配置,同时只输出feign接口下的
logging:
  level:
    com.tuling.order.feign: debug

3、在消费方添加调用模块

 控制台输入如下:

 注意,第一步的config配置类,如果添加了@Configuration注解,那就是该消费方的所有feign调用都会打印日志

而如果不需要所有feign接口都输出,只需要在特定的输出,那就① 去掉该@Configuration注解,② 在feign接口上的@feignClient里面的configuration添加配置类,如下:

@FeignClient(name = "product-service",path = "/product",configuration = FeignConfig.class)

这样,就只会输出该feign调用接口下的方法日志。

 

二、使用配置文件

在消费方的application.yml里面配置

feign:
  client:
    config:
      product-service:  需要输出服务提供方的名称
        loggerLevel: basic    

使用配置文件是相对更简单的方法

 

以上内容纯学习使用!

 

posted @   多多指教~  阅读(368)  评论(0编辑  收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示