def init_cli_logger()

in iact3/logger.py [0:0]


def init_cli_logger(loglevel=None, log_prefix=None, logger=None):
    if logger:
        log = logger
    else:
        log = logging.getLogger(__package__)

    if log.hasHandlers():
        for handler in log.handlers:
            log.removeHandler(handler)

    cli_handler = logging.StreamHandler()
    fmt = "%(asctime)s %(color_loglevel)s%(message)s"

    if log_prefix:
        fmt = f"%(asctime)s {log_prefix} %(color_loglevel)s%(message)s"

    formatter = logging.Formatter(fmt)
    cli_handler.setFormatter(formatter)
    cli_handler.addFilter(AppFilter())
    log.addHandler(cli_handler)
    if loglevel:
        loglevel = getattr(logging, loglevel.upper(), 20)
        log.setLevel(loglevel)
    return log