def make_logging_listener(
*,
consumer: "AIOKafkaConsumer",
logger: Optional["LoggerProto"],
log_extra: dict[str, Any],
listener: Optional["ConsumerRebalanceListener"],
) -> Optional["ConsumerRebalanceListener"]:
if logger is None:
return listener
logging_listener = _LoggingListener(
consumer=consumer,
logger=logger,
log_extra=log_extra,
)
if listener is None:
return logging_listener
return _LoggingListenerFacade(
logging_listener=logging_listener,
listener=listener,
)