diff --git a/src/aarecommon/config/logger.py b/src/aarecommon/config/logger.py index 3678083..be64de5 100644 --- a/src/aarecommon/config/logger.py +++ b/src/aarecommon/config/logger.py @@ -1,9 +1,6 @@ import logging import logging.config import os -from pathlib import Path - -import yaml class IgnoreSuccessfulStatusAccessFilter(logging.Filter): @@ -69,44 +66,45 @@ def get_uvicorn_logging_config() -> dict: } -def get_log_config() -> dict: - config_path = Path(__file__).parent / "logging.yaml" - if not config_path.exists(): - raise FileNotFoundError(f"Logging config not found: {config_path}") - with open(config_path, "r") as f: - return yaml.safe_load(f.read()) +AARE_LOG_CONFIG = { + "version": 1, + "disable_existing_loggers": False, + "formatters": {"simple": {"format": "%(asctime)s - %(levelname)s - %(message)s"}}, + "handlers": { + "console": { + "class": "logging.StreamHandler", + "formatter": "simple", + "level": "DEBUG", + "stream": " ext://sys.stdout", + } + }, + "loggers": { + "aareDAQ": {"level": "DEBUG"}, + "aareGUI": {"level": "DEBUG"}, + "redis_lock": {"level": "WARNING"}, + "urllib3": {"level": "WARNING"}, + "matplotlib": {"level": "WARNING"}, + }, + "root": {"level": "WARNING", "handlers": ["console"]}, +} -_SETUP_DONE: bool = False +_setup_done: bool = False +_additional_loggers_setup: set[str] = set() -def setup_logger(name: str, base_dir: str = "~/tmp/mxlogs/"): - global _SETUP_DONE - if _SETUP_DONE: - return logging.getLogger(name) +def setup_logger(name: str): + logger = logging.getLogger(name) + if name not in _additional_loggers_setup: + _additional_loggers_setup.add(name) + logger.setLevel(logging.DEBUG) - config = get_log_config() + global _setup_done + if _setup_done: + return logger - # Force base directory to be under the user's home dir - effective_base = base_dir + name - effective_base = os.path.abspath(os.path.expanduser(os.path.expandvars(effective_base))) - - # Ensure directories for file handlers exist - handlers = config.get("handlers", {}) - - for h in handlers.values(): - filename = h.get("filename") - if not filename: - continue - abs_filename = os.path.join(effective_base, os.path.basename(filename)) - - h["filename"] = abs_filename - log_dir = os.path.dirname(abs_filename) - if log_dir and not os.path.exists(log_dir): - os.makedirs(log_dir, exist_ok=True) - - logging.config.dictConfig(config) - _SETUP_DONE = True + logging.config.dictConfig(AARE_LOG_CONFIG) + _setup_done = True return logging.getLogger(name) diff --git a/src/aarecommon/config/logging.yaml b/src/aarecommon/config/logging.yaml deleted file mode 100644 index e6a2634..0000000 --- a/src/aarecommon/config/logging.yaml +++ /dev/null @@ -1,32 +0,0 @@ -version: 1 -disable_existing_loggers: False - -formatters: - simple: - format: "%(asctime)s - %(levelname)s - %(message)s" - -handlers: - console: - class: logging.StreamHandler - formatter: simple - level: DEBUG - stream: ext://sys.stdout - journal: - class: systemd.journal.JournaldLogHandler - level: DEBUG - -loggers: - aaredaq: - level: DEBUG - aaregui: - level: DEBUG - redis_lock: - level: WARNING - urllib3: - level: WARNING - matplotlib: - level: WARNING - -root: - level: WARNING - handlers: [console, journal]