springcloud は出力ログを禁止します: ConfigClusterResolver: 構成による eureka エンドポイントの解決

springcloud の登録センター クライアントは、登録センター サーバーが正常に実行されているかどうかを判断するために、定期的にハートビートを登録センター サーバーに送信します。

このため、ログが継続的に出力されることになり、通常の業務ログ出力を確認するのが不便になります。

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 #WARN レベルでの root ログ出力

おすすめ

転載: blog.csdn.net/Ellis_li/article/details/131321902