Skip to content

RabbitParamsStorage

faststream.rabbit.broker.logging.RabbitParamsStorage #

RabbitParamsStorage()

Bases: DefaultLoggerStorage

Source code in faststream/rabbit/broker/logging.py
def __init__(self) -> None:
    super().__init__()

    self._max_exchange_len = 4
    self._max_queue_len = 4

logger_log_level instance-attribute #

logger_log_level = INFO

register_subscriber #

register_subscriber(params)
Source code in faststream/rabbit/broker/logging.py
def register_subscriber(self, params: dict[str, Any]) -> None:
    self._max_exchange_len = max(
        self._max_exchange_len,
        len(params.get("exchange", "")),
    )
    self._max_queue_len = max(
        self._max_queue_len,
        len(params.get("queue", "")),
    )

get_logger #

get_logger(*, context)
Source code in faststream/rabbit/broker/logging.py
def get_logger(self, *, context: "ContextRepo") -> "LoggerProto":
    # TODO: generate unique logger names to not share between brokers
    if not (lg := self._get_logger_ref()):
        message_id_ln = 10

        lg = get_broker_logger(
            name="rabbit",
            default_context={
                "queue": "",
                "exchange": "",
            },
            message_id_ln=message_id_ln,
            fmt=(
                "%(asctime)s %(levelname)-8s - "
                f"%(exchange)-{self._max_exchange_len}s | "
                f"%(queue)-{self._max_queue_len}s | "
                f"%(message_id)-{message_id_ln}s "
                "- %(message)s"
            ),
            context=context,
            log_level=self.logger_log_level,
        )
        self._logger_ref.add(lg)

    return lg

set_level #

set_level(level)
Source code in faststream/_internal/logger/params_storage.py
def set_level(self, level: int) -> None:
    if lg := self._get_logger_ref():
        lg.setLevel(level)

    self.logger_log_level = level