Source code for mehlbot.logger

"""The package's logger utility to set up a logger."""
import logging
from logging import Logger


[docs]def setup_logger(name: str) -> Logger: """Configures a new logger with handlers and formatters. :param name: name of the logger (__name__) :return: configured logger. """ logging.basicConfig() stream_handler = (logging.StreamHandler(),) file_handler = logging.FileHandler("debug.log", encoding="utf-8") output_format: logging.Formatter = logging.Formatter("%(asctime)s [%(levelname)s] %(message)s") stream_handler[0].setFormatter(output_format) file_handler.setFormatter(output_format) logger = logging.getLogger(name) logger.setLevel(level=logging.DEBUG) logger.addHandler(file_handler) return logger