From 8304886cace6db25dc0b1104d5360490f724122c Mon Sep 17 00:00:00 2001 From: benedikt-bartscher <31854409+benedikt-bartscher@users.noreply.github.com> Date: Wed, 3 Jul 2024 17:34:22 +0200 Subject: [PATCH] dedupe config overrides (#3600) --- reflex/config.py | 3 ++- reflex/utils/console.py | 11 ++++++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/reflex/config.py b/reflex/config.py index 95e6e54d8..06d8c2193 100644 --- a/reflex/config.py +++ b/reflex/config.py @@ -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. diff --git a/reflex/utils/console.py b/reflex/utils/console.py index a54103064..69500b32f 100644 --- a/reflex/utils/console.py +++ b/reflex/utils/console.py @@ -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)