美文网首页
4. Microservice - OpenFeign日志配置

4. Microservice - OpenFeign日志配置

作者: 右耳菌 | 来源:发表于2025-09-06 23:37 被阅读0次

注意:正常运行的项目中,不建议开启日志,会有性能损耗


OpenFeign只会在FeignClient所在包的日志级别为DEBUG时,才会输出日志。而且其日志级别有4级:

  • NONE:不记录任何日志信息,这是默认值。
  • BASIC:仅记录请求的方法,URL以及响应状态码和执行时间
  • HEADERS:在BASIC的基础上,额外记录了请求和响应的头信息
  • FULL:记录所有请求和响应的明细,包括头信息、请求体、元数据。

Feign默认的日志级别就是NONE,所以默认我们看不到请求日志。

1.定义日志级别

在hm-api模块下新建一个配置类,定义Feign的日志级别:


package com.hmall.api.config;

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

public class DefaultFeignConfig {
    @Bean
    public Logger.Level feignLogLevel(){
        return Logger.Level.FULL; // 这里要根据情况调整
    }
}

2.配置

接下来,要让日志级别生效,还需要配置这个类。有两种方式:

  • 局部生效:在某个FeignClient中配置,只对当前FeignClient生效
@FeignClient(value = "item-service", configuration = DefaultFeignConfig.class)
  • 全局生效:在@EnableFeignClients中配置,针对所有FeignClient生效。
@EnableFeignClients(defaultConfiguration = DefaultFeignConfig.class)

日志格式:

17:35:32:148 DEBUG 18620 --- [nio-8082-exec-1] com.hmall.api.client.ItemClient          : [ItemClient#queryItemByIds] ---> GET http://item-service/items?ids=100000006163 HTTP/1.1
17:35:32:148 DEBUG 18620 --- [nio-8082-exec-1] com.hmall.api.client.ItemClient          : [ItemClient#queryItemByIds] ---> END HTTP (0-byte body)
17:35:32:278 DEBUG 18620 --- [nio-8082-exec-1] com.hmall.api.client.ItemClient          : [ItemClient#queryItemByIds] <--- HTTP/1.1 200  (127ms)
17:35:32:279 DEBUG 18620 --- [nio-8082-exec-1] com.hmall.api.client.ItemClient          : [ItemClient#queryItemByIds] connection: keep-alive
17:35:32:279 DEBUG 18620 --- [nio-8082-exec-1] com.hmall.api.client.ItemClient          : [ItemClient#queryItemByIds] content-type: application/json
17:35:32:279 DEBUG 18620 --- [nio-8082-exec-1] com.hmall.api.client.ItemClient          : [ItemClient#queryItemByIds] date: Fri, 26 May 2023 09:35:32 GMT
17:35:32:279 DEBUG 18620 --- [nio-8082-exec-1] com.hmall.api.client.ItemClient          : [ItemClient#queryItemByIds] keep-alive: timeout=60
17:35:32:279 DEBUG 18620 --- [nio-8082-exec-1] com.hmall.api.client.ItemClient          : [ItemClient#queryItemByIds] transfer-encoding: chunked
17:35:32:279 DEBUG 18620 --- [nio-8082-exec-1] com.hmall.api.client.ItemClient          : [ItemClient#queryItemByIds] 
17:35:32:280 DEBUG 18620 --- [nio-8082-exec-1] com.hmall.api.client.ItemClient          : [ItemClient#queryItemByIds] [{"id":100000006163,"name":"巴布豆(BOBDOG)柔薄悦动婴儿拉拉裤XXL码80片(15kg以上)","price":67100,"stock":10000,"image":"https://m.360buyimg.com/mobilecms/s720x720_jfs/t23998/350/2363990466/222391/a6e9581d/5b7cba5bN0c18fb4f.jpg!q70.jpg.webp","category":"拉拉裤","brand":"巴布豆","spec":"{}","sold":11,"commentCount":33343434,"isAD":false,"status":2}]
17:35:32:281 DEBUG 18620 --- [nio-8082-exec-1] com.hmall.api.client.ItemClient          : [ItemClient#queryItemByIds] <--- END HTTP (369-byte body)

如果觉得有收获,欢迎点赞和评论,更多知识,请点击关注查看我的主页信息哦~

相关文章

  • 2.项目的基础配置

    1.配置mysql数据库 2.rest-framework配置 3.日志配置 3. 中文配置 4.配置reids缓...

  • 线程池 | 配置及持久化异常日志

    1. yml属性配置 2. prop属性pojo 3. Configurable配置 4. 持久化异步异常日志 5...

  • mysql慢查询日志

    mysql慢查询日志 1.慢查询日志 2.查看配置 3.临时开启慢查询日志 4.通过sql语句检查 5.关闭慢查询...

  • 2019-04-17

    启动 进入microservice1目录,输入命令后回车: 通过tail命令,查看启动日志: flutter UI...

  • OpenFeign进阶

    一、用对Http Client 如果不做特殊配置,OpenFeign默认使用jdk自带的HttpURLConnec...

  • Feign+Hystrix+Ribbon

    Feign+Hystrix笔记 1、OpenFeign 1.1OpenFeign简介 OpenFeign是Netf...

  • MongoDB环境部署

    1. 获取MongoDB 2. 移动文件 3. 创建存放数据与日志文件夹 4. 创建log日志文件 5. 配置mo...

  • spring cloud

    Eureka:服务注册框架 配置 Ribbon:负载均衡器,运行在消费端; OpenFeign:运行在消费端,服务...

  • 声明式客户端OpenFeign(一):基础应用

    OpenFeign简介 OpenFeign是一个声明式RESTful网络请求客户端。OpenFeign会根据带有注...

  • Spring Boot 默认日志配置

    springboot 默认日志配置 SpringBoot 日志配置 默认采用LogBack作为日志输出! 日志格式...

网友评论

      本文标题:4. Microservice - OpenFeign日志配置

      本文链接:https://www.haomeiwen.com/subject/tyfqbjtx.html