一、细粒度的配置Feign的日志级别(针对每个微服务配置)

 1、java代码方式

(1)在Feign接口注解上面配置configuration

/**
* @author : maybesuch
* @version : 1.0
* @Description : 用户中心Feign接口
* @Date : 2020/1/9 11:43
* @Copyright : Copyright (c) 2020 All Rights Reserved
**/
@FeignClient(value = "user-center", configuration = UserCenterFeignConfiguration.class)
public interface UserCenterFeignClient { @GetMapping("/users/{id}")
UserDTO findById(@PathVariable("id") Integer id); }

(2)定义configuration内容,也就是feign的日志级别

Logger有四种类型:NONE(默认)BASICHEADERSFULL,通过注册Bean来设置日志记录级别

注意:在此方法上不需要@Configuration注解,否则会被所有的FeignClient共享,如果添加了注解,则需要将此类放到启动时扫描不到的包

/**
* @author : maybesuch
* @version : 1.0
* @Description : 定义请求用户中心Feign的日志级别
* @Date : 2020/1/9 17:24
* @Copyright : Copyright (c) 2020 All Rights Reserved
**/
public class UserCenterFeignConfiguration { @Bean
Logger.Level feignLoggerLevel(){
// 设置日志
return Logger.Level.FULL;
}
}

(3)将Feign的全路径在application.yml中配置

logging:
level:
# com.maybesuch.contentcenter.feignclient.UserCenterFeignClient: debug
com.maybesuch: debug

2、配置文件的方式

只需在application.yml中添加配置:

logging:
level:
# com.maybesuch.contentcenter.feignclient.UserCenterFeignClient: debug
com.maybesuch: debug feign:
client:
config:
# 要调用服务的名称
user-center:
loggerLevel: full

二、全局日志级别的配置

1、java代码的方式

(1)在启动类@EnableFeignClients注解上配置defaultConfiguration

@SpringBootApplication
@EnableFeignClients(defaultConfiguration = GlobalFeignConfiguration.class)
public class ContentCenterApplication { public static void main(String[] args) {
SpringApplication.run(ContentCenterApplication.class, args);
}
}

(2)定义GlobalFeignConfiguration类,此类也不需要@Configuration注解

/**
* @author : maybesuch
* @version : 1.0
* @Description : 定义全局Feign的日志级别
* @Date : 2020/1/9 17:24
* @Copyright : Copyright (c) 2020 All Rights Reserved
**/
public class GlobalFeignConfiguration { @Bean
Logger.Level feignLoggerLevel(){
return Logger.Level.FULL;
}
}

(3)配置文件application.yml中需配置日志级别方能打印出Feign调用的日志信息

logging:
level:
com.maybesuch: debug

2、配置文件方式

  只需在application.yml中添加配置:

logging:
level:
com.maybecare: debug feign:
client:
config:
# feign全局日志级别
default:
loggerLevel: full

日志打印结果:

c.m.c.feignclient.UserCenterFeignClient  : [UserCenterFeignClient#findById] ---> GET http://user-center/users/1 HTTP/1.1
c.m.c.feignclient.UserCenterFeignClient : [UserCenterFeignClient#findById] ---> END HTTP (0-byte body)
c.m.c.feignclient.UserCenterFeignClient : [UserCenterFeignClient#findById] <--- HTTP/1.1 200 (17ms)
c.m.c.feignclient.UserCenterFeignClient : [UserCenterFeignClient#findById] content-type: application/json;charset=UTF-8
c.m.c.feignclient.UserCenterFeignClient : [UserCenterFeignClient#findById] date: Fri, 10 Jan 2020 05:33:40 GMT
c.m.c.feignclient.UserCenterFeignClient : [UserCenterFeignClient#findById] transfer-encoding: chunked
c.m.c.feignclient.UserCenterFeignClient : [UserCenterFeignClient#findById]
c.m.c.feignclient.UserCenterFeignClient : [UserCenterFeignClient#findById] {"id":1,"bane":"maybesuch"}
c.m.c.feignclient.UserCenterFeignClient : [UserCenterFeignClient#findById] <--- END HTTP (161-byte body)

Feign配置日志的打印级别的更多相关文章

  1. ssm框架之配置日志系统打印到控制台与指定文件

    前提: 0:ssm框架已经搭建并且成功运行 1.maven环境配置成功 2.tomcat配置成功,并且配置本机的tomcat环境变量 内容: 0.导入所需要的jar包 <!-- 配置log4j日 ...

  2. Nginx 改变错误日志打印级别

    Nginx 改变错误日志打印级别 user  root;worker_processes  2; worker_rlimit_nofile 10240;error_log logs/nginx_err ...

  3. log4j日志打印级别动态调整

    1,为什么日志打印级别要动态调整? 随着项目越来越大,访问量也越来越高,遇到问题时想要排查,可是日志一打开却刷的太快太快,不好排查问题,有的时候甚至因为短时间打印日志太多,严重影响了性能,这个时候日志 ...

  4. SpringBoot优雅地配置日志

    本文主要给大家介绍SpringBoot中如何通过sl4j日志组件优雅地记录日志.其实,我们入门 JAVA 的第一行代码就是一行日志,那你现在还在使用System.out.println("H ...

  5. SpringBoot使用logback输出日志并打印sql信息 --经典---

    最近在学习springboot以及一些springcloud插件的使用,其中发现默认的配置并不能打印一些有用的日志,所以需要自定义一些日志输出方式以便于查看日志排查问题,目前只整理了两种使用方式,如下 ...

  6. Log4j各级别日志重复打印的问题

    今天在配置Log4j日志的时候,发现日志重复打印的问题.网上查了很多资料,发现介绍Log4j配置的文章数量不少,但提到这个问题的文章却寥寥,解决了自己的问题以后,赶紧记录一下. 原文地址:http:/ ...

  7. scarpy设置日志打印级别和存储位置

    在settings.py中配置 日志级别设置 LOG_LEVEL = 'ERROR' # 当LOG_LEVEL设置为ERROR时,在进行日志打印时,只是打印ERROR级别的日志 日志存储设置 LOG_ ...

  8. springboot2整合logback.xml动态修改日志打印级别

    今天找bug烦到了,生产上的日志级别不能修改,非常不利于排查问题,于是想到了动态修改日志打印级别, 因为上一周把项目升级成springboot2,并且使用logback.xml管理日志打印,所以修改也 ...

  9. feign三:覆写feign的默认配置及feign的日志

    feign三:覆写feign的默认配置及feign的日志 默认配置复写 本项目地址:http://192.168.1.103:7601 本例是通过feign调用 eureka项目中的/eureka/a ...

随机推荐

  1. Java学习_Java快速入门

    Java简介 安装完JDK后,需要设置一个JAVA_HOME的环境变量,它指向JDK的安装目录.在Windows下,它是安装目录,类似: C:\Program Files\Java\jdk-15 把J ...

  2. Gitignore 配置语法

    Gitignore 配置语法 原文地址:http://kuanghy.github.io/2016/05/17/gitignore Git 的 .gitignore 配置文件用于配置不需要加入到版本管 ...

  3. js相关语法知识

    alert(); 页面弹窗 <input plactholder="请输入密码"/>(隐藏字体效果)js对数据类型不敏感,与Java相似1.js变量定义符:var2.j ...

  4. AtCoder Beginner Contest 187 F - Close Group

    题目链接 点我跳转 题目大意 给你一张完全图,你可以删除任意数量的边 要求删除完后剩余的所有子图必须是完全图 问完全子图数量最少是多少 解题思路 定义 \(ok[i]\) 表示状态为 \(i\) 时所 ...

  5. Eureka Server启动过程分析

    1.首先,SpringCloud充分利用了SpringBoot的自动装配特点 eureka-server的jar包,发现在META-INF下面的配置文件spring.factories,里面记录了Sp ...

  6. spark-streaming获取kafka数据的两种方式

    简单理解为:Receiver方式是通过zookeeper来连接kafka队列,Direct方式是直接连接到kafka的节点上获取数据 一.Receiver方式: 使用kafka的高层次Consumer ...

  7. PHPExcel-Helper快速构建Excel

    项目介绍 PHPExcel-Helper是什么? PHPExcel辅助开发类,帮助开发者快速创建各类excel. github PHPExcel-Helper存在的意义? 官方phpexcel库功能全 ...

  8. [ABP教程]第七章 作者:数据库集成

    Web开发教程7 作者:数据库集成 关于此教程 在这个教程系列中,你将要构建一个基于ABP框架的应用程序 Acme.BookStore.这个应用程序被用于甘丽图书页面机器作者.它将用以下开发技术: E ...

  9. Spring Boot GraphQL 实战 03_分页、全局异常处理和异步加载

    hello,大家好,我是小黑,又和大家见面啦~ 今天我们来继续学习 Spring Boot GraphQL 实战,我们使用的框架是 https://github.com/graphql-java-ki ...

  10. 【Java基础】面向对象中

    面向对象中 这一章主要涉及面向对象的三大特征,包括封装.继承.多态.(抽象). 封装 程序设计追求"高内聚,低耦合": 高内聚 :类的内部数据操作细节自己完成,不允许外部干涉: 低 ...