OpenFeign日志记录

本文介绍了如何在OpenFeign中开启日志输出,包括开启条件(需设置FeignClient所在包的日志级别为DEBUG),提供两种操作方法:局部生效和全局生效,以及如何在application和config类中进行相应的配置。

目录

1 前言

2 开启条件及日志级别

2.1 条件

2.2 日志级别

3 具体操作

3.1 进行application的配置

3.2 编写config类

3.3 两种食用方法

3.3.1 局部生效

3.3.2 全局生效(推荐)


1 前言

OpenFeign在默认情况下是不输出日志的,这的确对我们的性能有着极大的好处。但是如果我们的项目发生问题,这也不方便我们的调试,接下来我将介绍如何开启OpenFeign的日志输出。

2 开启条件及日志级别

2.1 条件

OpenFeign只会在FeignClient所在包的日志级别为DEBUG时,才会输出日志。

直接看概念可能不方便理解,举个例子,我们的client所在的包为com.hmall.api.client

那么就可以定义com.hmall为debug级别的包,在导入该包的模块的application中进行设置如下:

logging:
  level:
    com.hmall: debug

这个配置项中,com.hmall是一个包名或者类名前缀,表示应用中所有属于com.hmall包(及其子包)的类的日志级别。将这个值设定为debug意味着对于这个包下的代码,日志系统会记录DEBUG级别及以上的所有日志信息。

2.2 日志级别

日志级别有4级:

NONE:不记录任何日志信息,这是默认值。

BASIC:仅记录请求的方法,URL以及响应状态码和执行时间

HEADERS:在BASIC的基础上,额外记录了请求和响应的头信息

FULL:记录所有请求和响应的明细,包括头信息、请求体、元数据。

3 具体操作

3.1 进行application的配置

导入该包的模块的application中进行设置如下,要问为什么可看2.1:

logging:
  level:
    com.hmall: debug    #包得换成自己的,是com.aaa就写com.aaa

3.2 编写config类

在api所在的模块中,编写config类如下,不加@Configuration

public class DefaultFeignConfig {
    @Bean
    public Logger.Level feignLoggerLevel() {
        return Logger.Level.FULL;
    }
}

3.3 两种食用方法

3.3.1 局部生效

在某个FeignClient中配置,只对当前FeignClient生效

向@FeignClient中添加configuration = DefaultFeignConfig.class,其中DefaultFeignConfig.class我们刚才编写的config类,如下:

@FeignClient(value = "item-service", configuration = DefaultFeignConfig.class)

3.3.2 全局生效(推荐)

@EnableFeignClients中配置,针对所有FeignClient生效。

向导入api模块的模块的启动类上的@EnableFeignClients中添加我们刚才编写的类名defaultConfiguration = DefaultFeignConfig.class,其中DefaultFeignConfig.class我们刚才编写的config类

@EnableFeignClients(defaultConfiguration = DefaultFeignConfig.class)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

厂里英才

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值