dedupe config overrides (#3600)

This commit is contained in:
benedikt-bartscher 2024-07-03 17:34:22 +02:00 committed by GitHub
parent 7cbd2848ce
commit 8304886cac
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 12 additions and 2 deletions

View File

@ -277,7 +277,8 @@ class Config(Base):
if env_var is not None:
if key.upper() != "DB_URL":
console.info(
f"Overriding config value {key} with env var {key.upper()}={env_var}"
f"Overriding config value {key} with env var {key.upper()}={env_var}",
dedupe=True,
)
# Convert the env var to the expected type.

View File

@ -17,6 +17,9 @@ _LOG_LEVEL = LogLevel.INFO
# Deprecated features who's warning has been printed.
_EMITTED_DEPRECATION_WARNINGS = set()
# Info messages which have been printed.
_EMITTED_INFO = set()
def set_log_level(log_level: LogLevel):
"""Set the log level.
@ -62,14 +65,20 @@ def debug(msg: str, **kwargs):
print(msg_, **kwargs)
def info(msg: str, **kwargs):
def info(msg: str, dedupe: bool = False, **kwargs):
"""Print an info message.
Args:
msg: The info message.
dedupe: If True, suppress multiple console logs of info message.
kwargs: Keyword arguments to pass to the print function.
"""
if _LOG_LEVEL <= LogLevel.INFO:
if dedupe:
if msg in _EMITTED_INFO:
return
else:
_EMITTED_INFO.add(msg)
print(f"[cyan]Info: {msg}[/cyan]", **kwargs)