- 一、细粒度 基于JAVA代码的方式配置
- 二、细粒度 基于配置的方式
- 三. 全局 ,基于JAVA代码的方式配置
- 四、全局 , 基于配置的方式
一、细粒度 基于JAVA代码的方式配置
- 在Feign接口注解里加configuration 指向一个Logger的配置类
import com.itmuch.contentcenter.domain.dto.user.UserDTO;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import ribbonconfiguration.UserCenterFeignConfiguration;
//name:要请求的微服务的名称
@FeignClient(name = "user-center" ,configuration = UserCenterFeignConfiguration.class)
public interface UserCenterFeignClient {
@GetMapping("/users/{id}")
UserDTO findById(@PathVariable Integer id);
}
- 创建Logger的配置类 UserCenterFeignConfiguration
注意:如果这个类加了@Configuration,那么这个的位置要与启动类是同一级目录,不能让@ComponentScan扫描到
import feign.Logger;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class UserCenterFeignConfiguration {
@Bean
public Logger.Level level(){
return Logger.Level.FULL;
}
}
- 配置yml
能保证 UserCenterFeignClient 接口所在目录是debug即可
logging:
level:
com.itmuch.contentcenter.feignclient.UserCenterFeignClient: DEBUG
二、细粒度 基于配置的方式
- 修改yml
logging:
level:
com.itmuch.contentcenter.feignclient.UserCenterFeignClient: DEBUG
feign:
client:
config:
user-center: #请求的微服务的名字
loggerLevel: full
- Feign接口
import com.itmuch.contentcenter.domain.dto.user.UserDTO;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
//name:要请求的微服务的名称
@FeignClient(name = "user-center")
public interface UserCenterFeignClient {
@GetMapping("/users/{id}")
UserDTO findById(@PathVariable Integer id);
}
三. 全局 ,基于JAVA代码的方式配置
- 修改启动类Feign注解
@EnableFeignClients(defaultConfiguration = GlobalFeignConfiguration.class)
- 创建 GlobalFeignConfiguration
import feign.Logger;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class GlobalFeignConfiguration {
@Bean
public Logger.Level level(){
return Logger.Level.FULL;
}
}
四、全局 , 基于配置的方式
- 修改yml
feign:
client:
config:
default: #全局
loggerLevel: full



