2727from openfeature .provider .no_op_provider import NoOpProvider
2828from openfeature .provider .provider import AbstractProvider
2929
30+ logger = logging .getLogger ("openfeature" )
31+
3032GetDetailCallable = typing .Union [
3133 typing .Callable [
3234 [str , bool , typing .Optional [EvaluationContext ]], FlagResolutionDetails [bool ]
@@ -313,6 +315,12 @@ def evaluate_flag_details(
313315 return flag_evaluation
314316
315317 except OpenFeatureError as err :
318+ logger .exception (
319+ "Error %s while evaluating flag with key: '%s'" ,
320+ err .error_code ,
321+ flag_key ,
322+ )
323+
316324 error_hooks (flag_type , hook_context , err , reversed_merged_hooks , hook_hints )
317325
318326 return FlagEvaluationDetails (
@@ -325,6 +333,10 @@ def evaluate_flag_details(
325333 # Catch any type of exception here since the user can provide any exception
326334 # in the error hooks
327335 except Exception as err : # pragma: no cover
336+ logger .exception (
337+ "Unable to correctly evaluate flag with key: '%s'" , flag_key
338+ )
339+
328340 error_hooks (flag_type , hook_context , err , reversed_merged_hooks , hook_hints )
329341
330342 error_message = getattr (err , "error_message" , str (err ))
@@ -363,7 +375,7 @@ def _create_provider_evaluation(
363375 )
364376
365377 if not self .provider :
366- logging .info ("No provider configured, using no-op provider." )
378+ logger .info ("No provider configured, using no-op provider." )
367379 self .provider = NoOpProvider ()
368380
369381 get_details_callables : typing .Mapping [FlagType , GetDetailCallable ] = {
0 commit comments