about summary refs log tree commit diff
path: root/scripts/cli/logging.py
blob: 30ecf176fd151eb43288cf58db51485a520562e0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
"""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)