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
