From 9bfc15b921375df3f0053ac59414a143baa20bc3 Mon Sep 17 00:00:00 2001 From: jarebudev <23311805+jarebudev@users.noreply.github.com> Date: Tue, 7 Jul 2026 21:59:02 +0100 Subject: [PATCH 1/3] changed log level of provider state change transition messages to debug Signed-off-by: jarebudev <23311805+jarebudev@users.noreply.github.com> --- .../java/dev/openfeature/sdk/FeatureProviderStateManager.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/dev/openfeature/sdk/FeatureProviderStateManager.java b/src/main/java/dev/openfeature/sdk/FeatureProviderStateManager.java index 5fd70221b..0262e2556 100644 --- a/src/main/java/dev/openfeature/sdk/FeatureProviderStateManager.java +++ b/src/main/java/dev/openfeature/sdk/FeatureProviderStateManager.java @@ -70,7 +70,7 @@ private void setState(ProviderState state) { } else { providerName = delegate.getMetadata().getName(); } - log.info("Provider {} transitioned from state {} to state {}", providerName, oldState, state); + log.debug("Provider {} transitioned from state {} to state {}", providerName, oldState, state); } } From deed1a1c6f3b390a60ee50b349dbf9465ae11d12 Mon Sep 17 00:00:00 2001 From: jarebudev <23311805+jarebudev@users.noreply.github.com> Date: Mon, 13 Jul 2026 23:19:30 +0100 Subject: [PATCH 2/3] log provider state transitions at different log levels Signed-off-by: jarebudev <23311805+jarebudev@users.noreply.github.com> --- .../sdk/FeatureProviderStateManager.java | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/src/main/java/dev/openfeature/sdk/FeatureProviderStateManager.java b/src/main/java/dev/openfeature/sdk/FeatureProviderStateManager.java index 0262e2556..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.debug("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; } } From 5c05524a780b1b4382912e01a9a1a0685c4a1848 Mon Sep 17 00:00:00 2001 From: jarebudev <23311805+jarebudev@users.noreply.github.com> Date: Tue, 14 Jul 2026 22:37:32 +0100 Subject: [PATCH 3/3] applied suggested changed from AI review to consider old and new state for logging level of state transition message Signed-off-by: jarebudev <23311805+jarebudev@users.noreply.github.com> --- .../sdk/FeatureProviderStateManager.java | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/src/main/java/dev/openfeature/sdk/FeatureProviderStateManager.java b/src/main/java/dev/openfeature/sdk/FeatureProviderStateManager.java index dc82d598b..cbdb4d8bd 100644 --- a/src/main/java/dev/openfeature/sdk/FeatureProviderStateManager.java +++ b/src/main/java/dev/openfeature/sdk/FeatureProviderStateManager.java @@ -76,16 +76,12 @@ private void setState(ProviderState 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; + if (ProviderState.FATAL.equals(newState) || ProviderState.ERROR.equals(newState)) { + log.error(logMessage, providerName, oldState, newState); + } else if (ProviderState.ERROR.equals(oldState) || ProviderState.FATAL.equals(oldState)) { + log.info(logMessage, providerName, oldState, newState); + } else { + log.debug(logMessage, providerName, oldState, newState); } }