fix: warn once per env var key (#15846)

This commit is contained in:
shuwenn
2025-12-26 18:41:15 +08:00
committed by GitHub
parent ef92b4eb88
commit fe3d47fc9d

View File

@@ -312,11 +312,13 @@ def get_bool_env_var(name: str, default: str = "false") -> bool:
falsy_values = ("false", "0")
if (value not in truthy_values) and (value not in falsy_values):
if value not in _warned_bool_env_var_keys:
# Warn once per env var key (not per value), otherwise different keys that share the
# same invalid value may suppress warnings incorrectly.
if name not in _warned_bool_env_var_keys:
logger.warning(
f"get_bool_env_var({name}) see non-understandable value={value} and treat as false"
)
_warned_bool_env_var_keys.add(value)
_warned_bool_env_var_keys.add(name)
return value in truthy_values