Source code for ooodev.io.log.named_logger

from __future__ import annotations
from typing import Any, TYPE_CHECKING
from ooodev.io.log import logging as logger
import logging

if TYPE_CHECKING:
    from ooodev.utils.type_var import PathOrStr


[docs]class NamedLogger: """ Class for Logging class messages """
[docs] def __init__(self, name: str) -> None: """ Constructor Args: name (str): Name of the class. """ self._name = name self._logging_level = logger.get_log_level()
[docs] def debug(self, msg: Any, *args: Any, **kwargs: Any) -> None: """ Logs debug message. Args: msg (Any): message to debug. args (Any, optional): arguments. Keyword Args: exc_info: (_ExcInfoType): Exc Info Type Default to ``None`` stack_info (bool): Stack Info. Defaults to ``False``. stacklevel (int): Stack Level. Defaults to ``1``. extra (Mapping[str, object], None): extra Defaults to ``None``. Returns: None """ logger.debug(f"{self._name}: {msg}", *args, **kwargs) return
[docs] def debugs(self, *messages) -> None: """ Show messages debug Args: messages (list[Any]): List of messages to debug """ data = [str(m) for m in messages] data.insert(0, f"{self._name}:") logger.debugs(*data) return
[docs] def error(self, msg: Any, *args: Any, **kwargs: Any) -> None: """ Logs error message. Args: msg (Any): message to debug. args (Any, optional): arguments. Keyword Args: exc_info: (_ExcInfoType): Exc Info Type Default to ``None`` stack_info (bool): Stack Info. Defaults to ``False``. stacklevel (int): Stack Level. Defaults to ``1``. extra (Mapping[str, object], None): extra Defaults to ``None``. Returns: None """ logger.error(f"{self._name}: {msg}", *args, **kwargs) return
[docs] def exception(self, msg: Any, *args: Any, **kwargs: Any) -> None: """ Logs error message. Args: msg (Any): message to debug. args (Any, optional): arguments. Keyword Args: exc_info: (_ExcInfoType): Exc Info Type Default to ``True`` stack_info (bool): Stack Info. Defaults to ``False``. stacklevel (int): Stack Level. Defaults to ``1``. extra (Mapping[str, object], None): extra Defaults to ``None``. Returns: None """ logger.exception(f"{self._name}: {msg}", *args, **kwargs) return
[docs] def info(self, msg: Any, *args: Any, **kwargs: Any) -> None: """ Logs info message. Args: msg (Any): message to debug. args (Any, optional): arguments. Keyword Args: exc_info: (_ExcInfoType): Exc Info Type Default to ``None`` stack_info (bool): Stack Info. Defaults to ``False``. stacklevel (int): Stack Level. Defaults to ``1``. extra (Mapping[str, object], None): extra Defaults to ``None``. Returns: None """ logger.info(f"{self._name}: {msg}", *args, **kwargs) return
[docs] def warning(self, msg: Any, *args: Any, **kwargs: Any) -> None: """ Logs info message. Args: msg (Any): message to debug. args (Any, optional): arguments. Keyword Args: exc_info: (_ExcInfoType): Exc Info Type Default to ``None`` stack_info (bool): Stack Info. Defaults to ``False``. stacklevel (int): Stack Level. Defaults to ``1``. extra (Mapping[str, object], None): extra Defaults to ``None``. Returns: None """ logger.warning(f"{self._name}: {msg}", *args, **kwargs) return
[docs] def critical(self, msg: Any, *args: Any, **kwargs: Any) -> None: """ Logs critical message. Args: msg (Any): message to debug. args (Any, optional): arguments. Keyword Args: exc_info: (_ExcInfoType): Exc Info Type Default to ``None`` stack_info (bool): Stack Info. Defaults to ``False``. stacklevel (int): Stack Level. Defaults to ``1``. extra (Mapping[str, object], None): extra Defaults to ``None``. Returns: None """ logger.critical(f"{self._name}: {msg}", *args, **kwargs) return
# region Handler methods
[docs] def add_file_logger(self, log_file: PathOrStr, log_level: int = -1) -> bool: """ Add a file logger to the logger if it does not already exist. Args: log_file (PathOrStr): Log File Path. log_level (int, optional): Log Level. Defaults to Instance Log Level. Returns: bool: True if the handler was added, False otherwise. """ return logger.add_file_logger(log_file, log_level)
[docs] def remove_file_logger(self, log_file: PathOrStr) -> bool: """ Remove a file logger from the logger if it exists. Args: log_file (PathOrStr): Log File Path. Returns: bool: True if the handler was removed, False otherwise. """ return logger.remove_file_logger(log_file)
[docs] def remove_handlers(self) -> None: """ Remove all handlers from the logger. """ logger.remove_handlers()
[docs] def add_stream_handler(self) -> None: """Adds a stream handler to the logger if it does not already exist.""" logger.add_stream_handler()
# endregion Handler methods # region Properties @property def is_debug(self) -> bool: """Check if is debug""" return self._logging_level <= logging.DEBUG @property def is_info(self) -> bool: """Check if is info""" return self._logging_level <= logging.INFO @property def is_warning(self) -> bool: """Check if is warning""" return self._logging_level <= logging.WARNING @property def is_error(self) -> bool: """Check if is error""" return self._logging_level <= logging.ERROR
# endregion Properties