AWS中Spring Cloud日志报错及日志级别配置失效问题咨询
问题分析与解决方案
一、日志本质与是否掩盖潜在问题
这些INFO级日志的核心是Eureka客户端与ALB后的Eureka服务端通信时出现短暂连接异常,HttpClient自动触发重试且最终成功,所以当前功能正常。
- 不会掩盖致命问题:如果重试失败,框架会自动升级日志级别到ERROR/FATAL,这类故障日志仍会被保留;仅屏蔽INFO级的重试记录,不会遗漏真正影响功能的异常。
- 背后的潜在优化点:这类问题通常和AWS ALB的空闲连接超时(默认60秒)、Eureka客户端/服务端的HTTP连接池配置不匹配有关,后续可针对性调整,但当前不影响业务。
二、日志屏蔽无效的修正方案
你之前的配置遗漏了Apache HttpClient相关的日志类,需要补充以下配置到application.properties:
# 屏蔽Apache HttpClient的重试INFO日志 logging.level.org.apache.http.impl.execchain=FATAL # 屏蔽Eureka集群解析的INFO日志 logging.level.com.netflix.discovery.shared.resolver.aws=FATAL # 屏蔽Eureka HTTP客户端的请求错误INFO日志 logging.level.com.netflix.discovery.shared.transport.decorator=FATAL # 屏蔽Spring RestTemplate的INFO级异常日志 logging.level.org.springframework.web.client.RestTemplate=ERROR # 保留原配置(若需) logging.level.org.springframework.cloud.netflix.eureka.http=FATAL
配置对应说明:
o.apache.http.impl.execchain.RetryExec→ 对应包路径org.apache.http.impl.execchainc.n.d.s.r.aws.ConfigClusterResolver→ 对应包路径com.netflix.discovery.shared.resolver.awsc.n.d.s.t.d.RedirectingEurekaHttpClient→ 对应包路径com.netflix.discovery.shared.transport.decorator- 若想保留ERROR级日志,可将
FATAL改为ERROR,仅屏蔽INFO及以下级别。
内容的提问来源于stack exchange,提问作者sonoerin
相关产品推荐
相关产品推荐

