一、细粒度的配置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. 解决UE4缓存使C盘膨胀的问题

    使用UE4的时候会发现C盘越来越小了,那是因为UE4引擎的缓存文件默认保存在C盘的缘故. 概述 一.出现的问题:UE4的缓存文件会导致C盘膨胀. 二.解决的方式:请严格按照下列步骤来执行.1. 更改U ...

  2. Redis如何做内存优化?

    1.缩减键值对象 缩减键(key)和值(value)的长度, key长度:如在设计键时,在完整描述业务情况下,键值越短越好. value长度:值对象缩减比较复杂,常见需求是把业务对象序列化成二进制数组 ...

  3. VS使用过程中可能会遇到的问题

    Q:某个类无法引用命名空间 A:可能是类名与文件夹名重复了

  4. 四元数和旋转(Quaternion & rotation)

    四元数和旋转(Quaternion & rotation) 本篇文章主要讲述3D空间中的旋转和四元数之间的关系.其中会涉及到矩阵.向量运算,旋转矩阵,四元数,旋转的四元数表示,四元数表示的旋转 ...

  5. 自动化运维工具-Ansible之3-playbook

    自动化运维工具-Ansible之3-playbook 目录 自动化运维工具-Ansible之3-playbook PlayBook初识 YAML语法 PlayBook部署httpd PlayBook实 ...

  6. Elastisearch在kibana下批量处理(mget和bulk)

    一.批量查询 有点:能够大大减少网络的请求次数,减少网络开销 1.自定义设置index.type以及document id,进行查询 GET /_mget { "docs":[ { ...

  7. linux系统操作系统网卡漂移解决方案及问题原因

    一.问题描述 公司有100-150台服务器安装RHEL7.4&中标麒麟7.4系统,为方便编辑配置网卡,使用脚本方式配置为biosname=0,ifname=0,目的是为将en1o2p此类长字符 ...

  8. Angular入门到精通系列教程(4)- 开发环境搭建以及入手项目

    1. 本地开发环境搭建 1.1. node.js 1.2. Angular CLI 2. 开发工具 - Visual Studio Code 第一个Anuglar项目 创建第一个anuglar项目 A ...

  9. day122:MoFang:OSSRS流媒体直播服务器&基于APICloud的acLive直播推流模块实现RTMP直播推流

    目录 1.docker安装OSSRS流媒体直播服务器 2.基于APICloud的acLive直播推流模块实现RTMP直播推流 3.直播流管理 1.docker安装OSSRS流媒体直播服务器 1.OSS ...

  10. NOIP初赛篇——04计算机软件系统

    计算机软件是指计算机系统中的程序及其文档,也是用户与硬件之间的接口,用户主要通过软件与计算机进行交流,软件是计算机的灵魂.没有安装软件的计算机称为"裸机",无法完成任何工作.一般软 ...