From 0df121f03c7ee274cbf5430999240faf5c717d77 Mon Sep 17 00:00:00 2001 From: martinappleby Date: Wed, 5 Nov 2025 10:59:53 +0100 Subject: [PATCH] COMMON: logger no longer looks for hardcoded yaml, but looks for a yaml in the format f"logging_{env}.yaml" where env is an environement varaible tos et the yaml to dev or prod and the path is dependnet on the logger_config file path. --- common/src/aaredaqlib/logger_config.py | 25 +++++++++++++++++++++---- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/common/src/aaredaqlib/logger_config.py b/common/src/aaredaqlib/logger_config.py index 353dcc0a..13d16796 100644 --- a/common/src/aaredaqlib/logger_config.py +++ b/common/src/aaredaqlib/logger_config.py @@ -1,5 +1,7 @@ import logging import logging.config +from pathlib import Path + import yaml import os @@ -20,12 +22,27 @@ class QtLogHandler(logging.Handler): except Exception: self.handleError(record) -def setup_logger(name="aareDAQ", base_dir: str | None = '/tmp/mxlogs'): + +def get_config_path(env: str = "dev") -> Path: + module_dir = Path(__file__).parent + config_filename = f"logging_{env}.yaml" + config_path = module_dir / config_filename + + if not config_path.exists(): + raise FileNotFoundError(f"Logging config not found: {config_path}") + + return config_path + + +def setup_logger(name="aareDAQ", base_dir: str | None = '/tmp/mxlogs', config_path: str | None = None): # switch to production mode using: $ APP_ENV=prod python main.py env = os.getenv("APP_ENV", "dev") # default: dev - config_file = ( - "/sls/MX/applications/aaredaq/common/src/aaredaqlib/logging_prod.yaml" if env == "prod" else "/sls/MX/applications/aaredaq/common/src/aaredaqlib/logging_dev.yaml" - ) + + if config_path is None: + config_file = get_config_path(env) + else: + config_file = Path(config_path) + with open(config_file, "r") as f: config = yaml.safe_load(f.read())