当前位置:首页 > 技术文章 > 正文内容

Spring Boot 中整合 Feign 客户端时,配置日志的多种方式

zonemu2个月前 (08-11)技术文章28

1. 配置日志级别

可以通过在application.properties或application.yml文件中设置 Feign 客户端接口的日志级别来控制日志输出。

application.properties 配置示例

# 设置Feign客户端日志级别,这里的com.example.client是Feign客户端接口所在的包名
logging.level.com.example.client=DEBUG

application.yml 配置示例

logging:
  level:
    com.example.client: DEBUG

2. 配置 Feign 日志记录器级别

在代码中配置 Feign 日志记录器的级别,这可以更细粒度地控制日志输出。

步骤

  1. 创建配置类:创建一个配置类来指定 Feign 日志记录器的级别。
logging:
  level:
    com.example.client: DEBUG

在上述代码中,Logger.Level 有以下几种可选值:

  • NONE:不记录任何日志。
  • BASIC:仅记录请求方法、URL、响应状态码和执行时间。
  • HEADERS:记录基本信息以及请求和响应的头信息。
  • FULL:记录请求和响应的头信息、正文和元数据。
  1. 在 Feign 客户端接口上使用配置类
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;

@FeignClient(name = "example-service", configuration = FeignConfig.class)
public interface ExampleClient {

    @GetMapping("/example")
    String getExample();
}

3. 全局配置 Feign 日志

如果你想对所有的 Feign 客户端应用相同的日志配置,可以创建一个全局的配置类。

import feign.Logger;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class GlobalFeignConfig {

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

然后在application.properties或application.yml中指定全局配置类:

# application.properties
feign.client.default-to-properties=false
feign.client.config.default.loggerLevel=FULL
# application.yml
feign:
  client:
    default-to-properties: false
    config:
      default:
        loggerLevel: FULL

相关文章

2020最新门店财务收支管理系统(通用版),直接套用,自动计算

连锁企业的财务不知道怎么做各门店的收支表,不会门店汇总,别着急,看这里,今天小编和大家分享一套2020最新最新门店财务收支系统(通用版),可以快速录入,自动计算,既方便又全面!希望对大家有所帮助!(文...

【Vue3 基础】05.组件化(组件使用vuex)

这是 Vue3 + Vite + Pinia +TS + Element-Plus 实战系列文档。最近比较忙没什么时间写文章,争取早日把这个系列完结吧~生命周期和模板引用在本章之前,我们通过响应式 a...

崩溃!3 道 React 面试必卡题,吃透稳过金九银十

凌晨三点还在对着 “React 组件为什么重复渲染” 抓耳挠腮?别慌!今天挑出 3 道让 90% 候选人卡壳的高频题,全是大厂面试官挖的 “坑”,手把手教你见招拆招,看完直接装进面试 “弹药库”!先问...

快速上手React(快速上手的高级表达)

web前端三大主流框架1、Angular大家眼里比较牛的框架,甚至有人说三大框架中只有它能称得上一个完整的框架,因为它包含的东西比较完善,包含模板,数据双向绑定,路由,模块化,服务,过滤器,依赖注入等...

GIT最佳实践,高效提升多团队协同开发效率

多个团队共同维护同一个微服务模块时,经常出现A团队已发布的功能,B团队提交测发布出现冲突或缺失,如何有效解决多团队共同维护的问题呢?常用的版本管理工具有GIT、SVN,这两种版本管理工具,各有千秋;虽...

使用Java统计gitlab代码行数(统计github代码行数的方法)

使用Java统计gitlab代码行数一、背景:需要对当前公司所有的项目进行代码行数的统计二、 可实现方式1.脚本:通过git脚本将所有的项目拉下来并然后通过进行代码行数的统计样例:echo 创建项目对...