📝 Логирование¶
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 и т.д.), поэтому любую часть можно настроить или приглушить отдельно.