我正在使用以下配置来启用使用伪装进行的API调用的记录
#Feign properties
feign:
client:
config:
default:
loggerLevel: full
我的应用程序正在调用3个API,而feign正在正确记录所有3个API的请求和响应JSON。我想禁用其中一种API的日志记录。能否请您告知必要的配置。提前感谢
答案 0 :(得分:0)
如果您有3个API的3个不同的伪装客户端,则可以通过这种方式简单地覆盖日志记录级别(假设您的伪装客户端称为“ feignClient2”):
#Feign properties
feign:
client:
config:
default:
loggerLevel: full
feignClient2:
loggerLevel: none
但是,如果您有一个用于3个端点的伪客户端,则任务将变得更加复杂。您可以继承feign logger类(如果现在使用,则可以继承其任何子类,例如fe Slf4jLogger),并覆盖其logRequest
和logAndRebufferResponse
方法以不记录任何内容特定端点(您可以分别从request
和response
方法参数获取所需的信息)。然后将FeignLoggerFactory
bean与您自己的记录器一起添加:
@Bean
public FeignLoggerFactory feignLoggerFactory() {
return new DefaultFeignLoggerFactory(new CustomLogger());
}
它将覆盖FeignClientsConfiguration中的默认FeignLoggerFactory
。
总而言之,我建议您使用第一个选项(对于单独的伪装客户端)。但是,如果您选择第二个代码,那么如果您提供代码示例,我可以帮助您。