From 4addf41a5ba406bc99133bc00318f8e6fb4724be Mon Sep 17 00:00:00 2001 From: Lorenzo Venerandi Date: Fri, 23 Jan 2026 22:26:14 +0100 Subject: [PATCH] Add logging for environment variable overrides in config --- src/config.py | 34 ++++++++++++++++++++++------------ 1 file changed, 22 insertions(+), 12 deletions(-) diff --git a/src/config.py b/src/config.py index 629c18c..db879c0 100644 --- a/src/config.py +++ b/src/config.py @@ -7,6 +7,7 @@ from pathlib import Path from typing import Optional, Tuple from zoneinfo import ZoneInfo import time +from logger import get_app_logger import yaml @@ -157,18 +158,27 @@ def override_config_from_env(config: Config = None): env_var = __get_env_from_config(field) if env_var in os.environ: - field_type = config.__dataclass_fields__[field].type - env_value = os.environ[env_var] - if field_type == int: - setattr(config, field, int(env_value)) - elif field_type == float: - setattr(config, field, float(env_value)) - elif field_type == Tuple[int, int]: - parts = env_value.split(",") - if len(parts) == 2: - setattr(config, field, (int(parts[0]), int(parts[1]))) - else: - setattr(config, field, env_value) + + get_app_logger().info( + f"Overriding config '{field}' from environment variable '{env_var}'" + ) + try: + field_type = config.__dataclass_fields__[field].type + env_value = os.environ[env_var] + if field_type == int: + setattr(config, field, int(env_value)) + elif field_type == float: + setattr(config, field, float(env_value)) + elif field_type == Tuple[int, int]: + parts = env_value.split(",") + if len(parts) == 2: + setattr(config, field, (int(parts[0]), int(parts[1]))) + else: + setattr(config, field, env_value) + except Exception as e: + get_app_logger().error( + f"Error overriding config '{field}' from environment variable '{env_var}': {e}" + ) _config_instance = None