"""Logging for scripts.""" import logging def setup_logging( script_logger: logging.Logger, loglevel: str, modules: tuple[str, ...] = tuple() ): """Setup module-level loggers to the same log-level as the application.""" logging.basicConfig( encoding="utf-8", format=("%(asctime)s — %(filename)s:%(lineno)s — %(levelname)s: " "%(message)s"), level=logging.INFO) script_logger.setLevel(getattr(logging, loglevel.upper())) effective_loglevel = logging.getLevelName(script_logger.getEffectiveLevel()) for module in modules: logging.getLogger(module).setLevel(effective_loglevel)