📝 Логирование

Raito поставляется с цветным адаптивным форматтером логов, поэтому вывод в терминале читается сразу из коробки.

Включение

init_logging() ставит форматтер на корневой логгер:

raito = Raito(dispatcher, "handlers", production=False)
raito.init_logging()

Уровень зависит от production: DEBUG в разработке, INFO в продакшене. Передайте имена логгеров, чтобы приглушить шумные сторонние:

raito.init_logging("aiogram.event", "aiogram.dispatcher")

Каждое имя отсекается через MuteLoggersFilter.

Что вы получаете

  • Цветные метки уровня: D / I / W / E / C на цветном фоне.

  • Адаптивные таймстемпы: ColoredFormatter показывает больше (дату, имя логгера) на широких терминалах и меньше на узких, чтобы строки не переносились.

  • Предупреждения захватываются в логирование (logging.captureWarnings(True)), поэтому DeprecationWarning и подобные тоже попадают в ваши логи.

Логирование из вашего кода

Пространство имён rt даёт корневой логгер и сокращение debug:

from raito import rt

rt.debug("Loaded %d items", count)     # rt.log.debug
rt.log.info("Hello, %s", name)
rt.log.warning("Careful")
rt.log.error("Something failed")

Собственные подсистемы Raito пишут в именованные логгеры (raito.core, raito.routers, raito.roles, raito.scenes и т.д.), поэтому любую часть можно настроить или приглушить отдельно.