mo_moattar
New Contributor III

I did the same thing however the logs don't show up on the execution of the tasks so I took a

import logging


class LoggerBuilder:
    def __init__(self, log_level: int = logging.INFO) -> None:
        self.logger = logging.getLogger()
        self.logger.setLevel(log_level)
        formatter = logging.Formatter("%(asctime)s - %(levelname)s - %(message)s")
        console_handler = PrintHandler()
        console_handler.setLevel(log_level)
        console_handler.setFormatter(formatter)
        self.logger.addHandler(console_handler)

    def get_logger(self):
        return self.logger


class PrintHandler(logging.Handler):
    def __init__(self) -> None:
        logging.Handler.__init__(self=self)

    def emit(self, record: logging.LogRecord) -> None:
        print(f"{record.levelname}: {record.getMessage()}")

different approach with a similar structure.