# logger_util.py import logging import multiprocessing class LoggerUtil: formatter = logging.Formatter("%(asctime)s [%(levelname)8.8s] %(message)s") stream_handler = logging.StreamHandler() stream_handler.setFormatter(formatter) @classmethod def get_multiprocessing_logger(cls): mp_logger = multiprocessing.get_logger() mp_logger.addHandler(cls.stream_handler) return mp_logger @classmethod def set_info(cls): cls.base_config(logging.INFO) @classmethod def set_warn(cls): cls.base_config(logging.WARN) @classmethod def base_config(cls, level: int): logging.basicConfig( level=level, format="{asctime} [{levelname:<8}] {message}", handlers=[ logging.FileHandler( filename=f"{__file__[:-3]}.log", ), logging.StreamHandler(), ], ) mp_logger = multiprocessing.get_logger() mp_logger.setLevel(level) import logging import multiprocessing logger = logging.getLogger() class LoggerUtil: # logging.root.handlers = [] formatter = logging.Formatter("%(asctime)s [%(levelname)8.8s] %(message)s") stream_handler = logging.StreamHandler() stream_handler.setFormatter(formatter) @classmethod def get_multiprocessing_logger(cls): mp_logger = multiprocessing.get_logger() mp_logger.addHandler(cls.stream_handler) return mp_logger @classmethod def set_info(cls): logging.basicConfig( level=logging.INFO, format="%(asctime)s [%(levelname)8.8s] %(message)s", ) mp_logger = multiprocessing.get_logger() mp_logger.setLevel(logging.INFO) @classmethod def set_warn(cls): logging.basicConfig( level=logging.WARN, format="%(asctime)s [%(levelname)8.8s] %(message)s", ) mp_logger = multiprocessing.get_logger() mp_logger.setLevel(logging.WARN)