diff --git a/src/main/java/dev/openfeature/sdk/FeatureProviderStateManager.java b/src/main/java/dev/openfeature/sdk/FeatureProviderStateManager.java index 5fd70221b..dc82d598b 100644 --- a/src/main/java/dev/openfeature/sdk/FeatureProviderStateManager.java +++ b/src/main/java/dev/openfeature/sdk/FeatureProviderStateManager.java @@ -70,7 +70,22 @@ private void setState(ProviderState state) { } else { providerName = delegate.getMetadata().getName(); } - log.info("Provider {} transitioned from state {} to state {}", providerName, oldState, state); + logProviderStateTransition(providerName, oldState, state); + } + } + + private void logProviderStateTransition(String providerName, ProviderState oldState, ProviderState newState) { + var logMessage = "Provider {} transitioned from state {} to state {}"; + switch (newState) { + case ERROR: + log.error(logMessage, providerName, oldState, newState); + break; + case FATAL: + log.warn(logMessage, providerName, oldState, newState); + break; + default: + log.debug(logMessage, providerName, oldState, newState); + break; } }