在某些API调用上禁用伪装登录

问题描述 投票:0回答:1

我正在使用以下配置来启用使用伪装进行的API调用的记录

#Feign properties
feign:
  client:
    config:
      default:
        loggerLevel: full      

我的应用程序正在调用3个API,伪装正在正确记录所有3个API的请求和响应JSON。我想禁用其中一种API的日志记录。能否请您告知必要的配置。提前感谢

spring spring-cloud-feign feign openfeign
1个回答
0
投票

如果您有3个API的3个不同的伪装客户端,那么您可以以这种方式简单地覆盖日志记录级别(假设您的伪装客户端称为“ feignClient2”:]]

#Feign properties
feign:
  client:
    config:
      default:
        loggerLevel: full   
      feignClient2:
        loggerLevel: none

但是如果您有3个端点的伪装客户端,则任务将变得更加复杂。您可以继承feign logger类(如果现在使用它,可以继承其任何子类,例如fe Slf4jLogger),并覆盖其logRequestlogAndRebufferResponse方法以不记录特定端点的任何内容(您可以获得所需的信息)信息分别来自requestresponse方法参数)。然后使用您自己的记录器添加FeignLoggerFactory bean:

@Bean
public FeignLoggerFactory feignLoggerFactory() {
    return new DefaultFeignLoggerFactory(new CustomLogger());
}

将从FeignLoggerFactory中覆盖默认的FeignClientsConfiguration

总之,我建议您使用第一个选项(对于单独的伪装客户端)。但是,如果您选择第二个代码,请提供示例代码,我可以帮助您。

© www.soinside.com 2019 - 2024. All rights reserved.