Skip to content

logging_logger

Module for LoggingLogger class

!!! classes LoggingLogger

LoggingLogger (ILogger)

Logger implementation based on default logging library

Source code in crosscutting/logging_logger.py
class LoggingLogger(ILogger):
    """Logger implementation based on default logging library"""

    def __init__(self) -> None:
        super().__init__()
        self._log = self._setup_logging()

    def log_error(self, message: str) -> None:
        """Logs an error message

        Args:
            message (str): message to log
        """
        self._log.error(message)

    def log_warning(self, message: str) -> None:
        """Logs a warning message

        Args:
            message (str): message to log
        """
        self._log.warning(message)

    def log_info(self, message: str) -> None:
        """Logs a info message

        Args:
            message (str): message to log
        """
        self._log.info(message)

    def log_debug(self, message: str) -> None:
        """Logs a debug message

        Args:
            message (str): message to log
        """
        self._log.debug(message)

    def _setup_logging(self) -> _log.Logger:
        """Sets logging information and logger setup"""
        _log.basicConfig(
            level=_log.INFO,
            format="%(asctime)s: %(levelname)-8s %(message)s",
            datefmt="%m-%d %H:%M:%S",
            filename="decoimpact.log",
            encoding="utf-8",  # Only for Python > 3.9
            filemode="w",
        )

        # define a Handler which writes INFO messages or higher to the sys.stderr
        console = _log.StreamHandler()
        console.setLevel(_log.INFO)

        # set a format which is simpler for console use
        formatter = _log.Formatter("%(asctime)s: %(levelname)-8s %(message)s")

        # tell the handler to use this format
        console.setFormatter(formatter)
        logger = _log.getLogger()

        # add the handler to the root logger
        logger.addHandler(console)

        return _log.getLogger()

log_debug(self, message)

Logs a debug message

Parameters:

Name Type Description Default
message str

message to log

required
Source code in crosscutting/logging_logger.py
def log_debug(self, message: str) -> None:
    """Logs a debug message

    Args:
        message (str): message to log
    """
    self._log.debug(message)

log_error(self, message)

Logs an error message

Parameters:

Name Type Description Default
message str

message to log

required
Source code in crosscutting/logging_logger.py
def log_error(self, message: str) -> None:
    """Logs an error message

    Args:
        message (str): message to log
    """
    self._log.error(message)

log_info(self, message)

Logs a info message

Parameters:

Name Type Description Default
message str

message to log

required
Source code in crosscutting/logging_logger.py
def log_info(self, message: str) -> None:
    """Logs a info message

    Args:
        message (str): message to log
    """
    self._log.info(message)

log_warning(self, message)

Logs a warning message

Parameters:

Name Type Description Default
message str

message to log

required
Source code in crosscutting/logging_logger.py
def log_warning(self, message: str) -> None:
    """Logs a warning message

    Args:
        message (str): message to log
    """
    self._log.warning(message)