"""Logger for the Mac Maker."""
import logging
import sys
from mac_maker import config
[docs]class Logger:
"""Mac Maker Logger.
:parameter debug: A boolean indicating if debug logging should be enabled.
"""
def __init__(self, debug: bool = False) -> None:
self.debug = debug
self.handler = logging.StreamHandler(sys.stdout)
self.level = self._get_logging_level()
self.logger = logging.getLogger(config.LOGGER_NAME)
def _get_logging_level(self) -> int:
if self.debug:
return logging.DEBUG
return logging.WARNING
def _get_stdout_formatter(self) -> logging.Formatter:
return logging.Formatter(config.LOGGER_FORMAT)
[docs] def setup(self) -> None:
"""Configure the Mac Maker logger."""
self.logger.setLevel(self.level)
self.handler.setFormatter(self._get_stdout_formatter())
self.logger.handlers = []
self.logger.addHandler(self.handler)