Source code for icolos.loggers.base_logger

from abc import ABC, abstractmethod

from icolos.utils.enums.logging_enums import LoggingConfigEnum


[docs]class BaseLogger(ABC): def __init__(self): self._LE = LoggingConfigEnum() self._logger = self._initialize_logger()
[docs] def log(self, message: str, level: str): if level == self._LE.DEBUG: self._logger.debug(message) elif level == self._LE.INFO: self._logger.info(message) elif level == self._LE.WARNING: self._logger.warning(message) elif level == self._LE.ERROR: self._logger.error(message) elif level == self._LE.EXCEPTION: self._logger.exception(message) else: raise ValueError("Logger level not supported.")
@abstractmethod def _initialize_logger(self): raise NotImplementedError("Overwrite this method in child classes.")