springcloud的注册中心客户端会每隔一定时间向注册中心服务端发送心跳,用此来判断注册中心服务端是否运行正常。

这样导致不断进行日志输出,不便查看正常的业务日志输出。

c.n.d.s.r.aws.ConfigClusterResolver      : Resolving eureka endpoints via configuration

看看ConfigClusterResolver中哪个方法在输出上述日志

    @Override
    public List<AwsEndpoint> getClusterEndpoints() {
        if (clientConfig.shouldUseDnsForFetchingServiceUrls()) {
            if (logger.isInfoEnabled()) {
                logger.info("Resolving eureka endpoints via DNS: {}", getDNSName());
            }
            return getClusterEndpointsFromDns();
        } else {
            logger.info("Resolving eureka endpoints via configuration");
            return getClusterEndpointsFromConfig();
        }
    }

 

那么如何禁止输出该日志呢?

可以通过提高注册中心的日志输出级别来解决这个问题,将如下配置写入配置文件:

#提高日志级别为WARN
logging:
  level:
    com.netflix.discovery.shared.resolver.aws.ConfigClusterResolver: WARN

加入如上配置后,运行一段时间发现不再打印小于等于info级别的日志

 

举一反三:可以通过logging.level+指定类/包的方式来指定某个类或某包下的日志输出级别

logging.level.root=WARN #root日志以WARN级别输出 

 

解决方法来源:https://github.com/spring-cloud/spring-cloud-netflix/issues/3365

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐