From 5e494aa196d47046cf34a2bdf3a13110b903b851 Mon Sep 17 00:00:00 2001 From: Olga MaciaszekSharma Date: Mon, 12 Apr 2021 14:29:45 +0200 Subject: [PATCH] Add more logging. Fixes gh-517. --- .../cloud/openfeign/FeignClientFactoryBean.java | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/FeignClientFactoryBean.java b/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/FeignClientFactoryBean.java index 8d61d127..7647868c 100644 --- a/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/FeignClientFactoryBean.java +++ b/spring-cloud-openfeign-core/src/main/java/org/springframework/cloud/openfeign/FeignClientFactoryBean.java @@ -35,6 +35,8 @@ import feign.Target.HardCodedTarget; import feign.codec.Decoder; import feign.codec.Encoder; import feign.codec.ErrorDecoder; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; import org.springframework.beans.BeanUtils; import org.springframework.beans.BeansException; @@ -71,6 +73,8 @@ public class FeignClientFactoryBean implements FactoryBean, Initializing * lifecycle race condition. ***********************************/ + private static Log LOG = LogFactory.getLog(FeignClientFactoryBean.class); + private Class type; private String name; @@ -345,7 +349,7 @@ public class FeignClientFactoryBean implements FactoryBean, Initializing } throw new IllegalStateException( - "No Feign Client for loadBalancing defined. Did you forget to include spring-cloud-starter-netflix-ribbon?"); + "No Feign Client for loadBalancing defined. Did you forget to include spring-cloud-starter-netflix-ribbon or spring-cloud-starter-loadbalancer?"); } @Override @@ -365,6 +369,13 @@ public class FeignClientFactoryBean implements FactoryBean, Initializing Feign.Builder builder = feign(context); if (!StringUtils.hasText(url)) { + if (url != null && LOG.isWarnEnabled()) { + LOG.warn( + "The provided URL is empty. Will try picking an instance via load-balancing."); + } + else if (LOG.isDebugEnabled()) { + LOG.debug("URL not provided. Will use LoadBalancer."); + } if (!name.startsWith("http")) { url = "http://" + name; }