Files
server-bot-python/src/middlewares/logging.py
T

21 lines
951 B
Python

import logging
from collections.abc import Awaitable, Callable
from typing import Any
from aiogram.dispatcher.middlewares.base import BaseMiddleware
from aiogram.types import TelegramObject
class LoggingMiddleware(BaseMiddleware):
"""Мидлвар для логирования всех входящих обновлений. Логирует тип и содержимое обновления. Логи сохраняются в файл bot.log и выводятся в консоль."""
async def __call__(
self,
handler: Callable[[TelegramObject, dict[str, Any]], Awaitable[Any]],
event: TelegramObject,
data: dict[str, Any],
) -> Any:
"""Выполняет логирование входящего обновления и передает его дальше по цепочке обработки."""
logging.info('Update: %s', event)
return await handler(event, data)