Feign设置header的方式和日志打印
2024.01.17 16:37浏览量:8简介:Feign是一个声明式的Web服务客户端,使得编写HTTP客户端变得更简单。在微服务间使用Feign进行远程调用时,我们需要在header中添加信息。Feign提供了多种方式来设置请求头信息,包括在注解中添加headers属性、使用@RequestHeader注解等。同时,为了方便调试和监控,我们也需要打印Feign的请求和响应日志。本文将详细介绍如何设置Feign的header以及如何打印Feign的日志。
一、Feign设置header的方式
Feign提供了多种方式来设置请求头信息,以下是其中的一些方式:
- 在@RequestMapping、@GetMapping、@PostMapping等接口注解里添加headers属性。例如:
@PostMapping(value = “/post”, headers = {“Content-Type”: “application/json;charset=UTF-8”})
String post(); - 在方法参数前面添加@RequestHeader注解。例如:
@GetMapping(value = “/single”)
public String single(@RequestHeader(“Authorization”) String token); - 在方法或者类上添加@Headers的注解。例如:
@Headers(“Content-Type: application/json”)
@PostMapping(value = “/multi”)
public String multi(); - 在方法参数前面添加@HeaderMap注解。例如:
@PostMapping(value = “/multi”)
public String multi(@HeaderMap Mapheaders); - 实现RequestInterceptor接口。例如:
public class CustomRequestInterceptor implements RequestInterceptor {
@Override
public void process(RequestTemplate requestTemplate) {
requestTemplate.header(“Content-Type”, “application/json;charset=UTF-8”);
}
}
二、打印Feign的日志
为了方便调试和监控,我们通常需要打印Feign的请求和响应日志。以下是几种常见的打印Feign日志的方式: - 使用SLF4J日志框架。在pom.xml中添加以下依赖:
org.springframework.cloud spring-cloud-starter-openfeign org.springframework.boot spring-boot-starter-logging
然后在application.properties中添加以下配置:
logging.level.root=DEBUG
logging.level.org.springframework.cloud.netflix.ribbon=DEBUG
logging.level.org.springframework.cloud.netflix.hystrix=DEBUG
logging.level.org.springframework.cloud.openfeign=DEBUG
logging.level.org.springframework=INFO
logging.pattern.console=%d{HHss.SSS} [%thread] %-5level %logger{36} - %msg%n
logging.pattern.file=%d{yyyy-MM-dd HHss} %-5p %c{1}:%L - %m%n
feign.client.config.default.loggerLevel=FULL
feign.client.config.default.logger的实现类=ch.qos.logback.classic.
feign.client.config.default.logger的级别=DEBUG
feign.client.config.default.logger的名称=ch.qos.logback.
feign.client日志级别=DEBUG
feign日志级别=INFO
fegin模式=pattern
fegin模式输出=输出请求参数和返回值(断言判断)和异常堆栈信息.
feign客户端日志实现类=ch.qos.
feign客户端日志级别=INFO.
feign客户端日志实现类实现类名称=chqoslogbackclassic.
fegin客户端日志输出格式化字符串=%d{yyyy-MM-dd HHss} %-5p %c{1}:%L - %m%.
fegin客户端日志输出格式化字符串输出时间戳,日志级别,类名,行号,消息.
fegin客户端日志输出级别=INFO.
fegin客户端日志输出级别输出指定级别以上的日志信息.
fegin客户端日志输出级别包括哪些级别(多个用逗号隔开)=INFO,DEBUG,WARN,ERROR,TRACE,ALL,OFF.
fegin客户端日志
发表评论
登录后可评论,请前往 登录 或 注册