Coverage for .tox/py314/lib/python3.14/site-packages/pydalec/logging_utils.py: 100%
12 statements
« prev ^ index » next coverage.py v7.14.1, created at 2026-06-04 16:06 +0200
« prev ^ index » next coverage.py v7.14.1, created at 2026-06-04 16:06 +0200
1"""Helpers for configuring pydalec logging in applications and REPL sessions."""
3import logging
5_DEBUG_HANDLER_NAME = 'pydalec.debug'
8def enable_debug_logging(level: int = logging.DEBUG) -> logging.Logger:
9 """Enable console logging for the pydalec logger without touching root logger.
11 This helper is intentionally opt-in and idempotent.
12 """
13 logger = logging.getLogger('pydalec')
14 logger.setLevel(level)
16 handler_exists = any(handler.get_name() == _DEBUG_HANDLER_NAME for handler in logger.handlers)
17 if not handler_exists:
18 handler = logging.StreamHandler()
19 handler.set_name(_DEBUG_HANDLER_NAME)
20 handler.setFormatter(logging.Formatter('%(asctime)s %(name)s %(levelname)s: %(message)s'))
21 logger.addHandler(handler)
23 return logger