aws-powertools/powertools-lambda-python

Bug: DD_FLUSH_TO_LOG = False flushes to log

Closed this issue · 6 comments

Expected Behaviour

DD_FLUSH_TO_LOG is a boolean environment variable and as such should be converted based on it's content rather than used as a string.

Current Behaviour

As long as the variable is set by the user, DD_FLUSH_TO_LOG is used as string and therefore evaluates to true (when used in boolean operations further down), irrespective of the value passed to the environment variable.

Code snippet

DD_FLUSH_TO_LOG=False 


import os
from aws_lambda_powertools.metrics.provider.datadog import DatadogMetrics

os.environ["DD_FLUSH_TO_LOG"] = "False"
metrics = DatadogMetrics()

print(metrics.provider.flush_to_log)
>'False'

Possible Solution

Use resolve_truthy_env_var_choice instead of resolve_env_var_choice here

self.flush_to_log = resolve_env_var_choice(choice=flush_to_log, env=os.getenv(constants.DATADOG_FLUSH_TO_LOG))

Steps to Reproduce

Powertools for AWS Lambda (Python) version

latest

AWS Lambda function runtime

3.9

Packaging format used

PyPi

Debugging logs

Thanks for opening your first issue here! We'll come back to you as soon as we can.
In the meantime, check out the #python channel on our Powertools for AWS Lambda Discord: Invite link

Hi @manzkel! Thanks for opening this issue! Yes, you are right! When setting this using ENV VAR as string, it is not coercing to bool to check if it is true or false. I'm sending a PR to fix this.

Thanks so much for opening the PR! 🚀
I know it may not be the right place but if by any chance you could have a look at this discussion #6256 it would be great as I am unable to tell whether this is a bug in the datadog handler as well or whether the problem lies in my configuration, thank you

Hey @manzkel! Sure, let me take a look in this discussion!

⚠️COMMENT VISIBILITY WARNING⚠️

This issue is now closed. Please be mindful that future comments are hard for our team to see.

If you need more assistance, please either tag a team member or open a new issue that references this one.

If you wish to keep having a conversation with other community members under this issue feel free to do so.

This is now released under 3.9.0 version!