1. OpenFeign日志配置实战
第一次用OpenFeign调试微服务接口时,我盯着空白的控制台发呆——明明代码逻辑没问题,可就是看不到请求和响应数据。后来才发现,Feign默认的日志级别是NONE,就像个沉默的邮差,送信时连个招呼都不打。下面分享我摸索出的完整配置方案,让你能看清这个"邮差"的每一步行动。
1.1 日志级别配置的四种模式
OpenFeign的Logger.Level就像相机的对焦模式,不同级别能看到不同细节:
java复制public enum Level {
NONE, // 完全静默,相当于关机状态
BASIC, // 只记录请求方法和URL,像快递单号
HEADERS, // 增加头信息,像拆包裹时的外包装检查
FULL // 完整记录请求和响应,相当于全程录像
}
实际项目中,我习惯在测试环境用FULL级别,生产环境用BASIC。配置方式很简单,只需在@FeignClient的configuration参数指定配置类:
java复制@Configuration
public class FeignDebugConfig {
@Bean
Logger.Level feignLoggerLevel() {
return Logger.Level.FULL;
}
}
@FeignClient(name = "user-service", configuration = FeignDebugConfig.class)
public interface UserFeign {
@GetMapping("/users/{id}")
User getUser(@PathVariable Long id);
}
1.2 日志框架的二选一难题
Spring Boot默认用Logback,但很多团队偏好Log4j2。我两个都试过,切换时要注意排除默认依赖:
xml复制<!-- 排除Logback -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>sp
