Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes14kdownloads
report.py51 linesDownload Raw Back to virtualenv
1from __future__ import annotations2 3import logging4import sys5 6LEVELS = {7    0: logging.CRITICAL,8    1: logging.ERROR,9    2: logging.WARNING,10    3: logging.INFO,11    4: logging.DEBUG,12    5: logging.NOTSET,13}14 15MAX_LEVEL = max(LEVELS.keys())16LOGGER = logging.getLogger()17 18 19def setup_report(verbosity, show_pid=False):  # noqa: FBT00220    _clean_handlers(LOGGER)21    verbosity = min(verbosity, MAX_LEVEL)  # pragma: no cover22    level = LEVELS[verbosity]23    msg_format = "%(message)s"24    if level <= logging.DEBUG:25        locate = "module"26        msg_format = f"%(relativeCreated)d {msg_format} [%(levelname)s %({locate})s:%(lineno)d]"27    if show_pid:28        msg_format = f"[%(process)d] {msg_format}"29    formatter = logging.Formatter(msg_format)30    stream_handler = logging.StreamHandler(stream=sys.stdout)31    stream_handler.setLevel(level)32    LOGGER.setLevel(logging.NOTSET)33    stream_handler.setFormatter(formatter)34    LOGGER.addHandler(stream_handler)35    level_name = logging.getLevelName(level)36    logging.debug("setup logging to %s", level_name)37    logging.getLogger("distlib").setLevel(logging.ERROR)38    return verbosity39 40 41def _clean_handlers(log):42    for log_handler in list(log.handlers):  # remove handlers of libraries43        log.removeHandler(log_handler)44 45 46__all__ = [47    "LEVELS",48    "MAX_LEVEL",49    "setup_report",50]51 
codekingpro/portable-devtools · Team Ai