1、重写feign.logger类
public class QjxFeignLogger extends feign.Logger {
private final Logger logger;
//自定义feign日志工厂
public InfoFeignLogger(Logger logger) {
this.logger = logger
}
@Override
protected void log(String configKey, String format, Object... args) {
//加入日志序列号,解决日志跟踪问题
MDC.put("key",UsercONTEXThOLDER.GETcONTEXT.GETlOGsERIALnUMBER());//请看自定义隔离策略
if (logger.isInfoEnabled()) {
logger.info(String.format(methodTag(configKey) + format, args));
}
}
}
2、创建Feign日志工厂
public class InfoFeignLoggerFactory extends FeignLoggerFactory {
//feign.logger类
@Override
protected Logger create(Class<?> type) {
return new InfoFeignLogger(LoggerFactory.getLogger(type));
}
}
3、自定义Logger类加入配置
@Configuration
public class FeignConfiguration {
@Autowired
private ObjectFactory messageConverters
@Bean
Logger.Level feignLoggerLevel() {
return Logger.Level.FULL;
}
@Bean
public FeignLoggerFactory infoFeignLoggerFactory(){
return new InfoFeignLoggerFactory();
}
@Bean
public Encoder feignFormEncoder(){
return new SpringFormEncoder(new SpringEncoder(messageConverters));
}
}