Source code for openfactory.kafka.kafka_logger

""" OpenFactory Kafka logger. """

import logging
from openfactory.setup_logging import configure_prefixed_logger
import openfactory.config as config


[docs] class KafkaLogger: """ Kafka Logger for centralized logging configuration. """
[docs] def __init__(self) -> None: """ Initialize the KafkaLogger with default configuration. """ self._logger = configure_prefixed_logger( 'openfactory.kafka', prefix='KAFKA', level=config.KAFKA_LOG_LEVEL )
@property def logger(self) -> logging.Logger: """ Access the configured logger instance. Returns: logging.Logger: The logger instance. """ return self._logger @property def level(self) -> str: """ Get the current log level as a string. Returns: str: The log level name (e.g., 'WARNING', 'DEBUG'). """ return logging.getLevelName(self.logger.level) @level.setter def level(self, level: str) -> None: """ Set the logger's log level. Args: level (str): The desired log level name. """ self.logger.setLevel(level) def __getattr__(self, item: str): """ Delegate attribute access to the internal logger. Allows calls like: ```python from openfactory.kafka.kafka_logger import kafka_logger kafka_logger.debug("...") ``` Args: item (str): The attribute name. Returns: Any: The attribute from the internal logger. """ return getattr(self.logger, item)
# Singleton instance kafka_logger = KafkaLogger()