23 lines
737 B
Python
23 lines
737 B
Python
"""Единая настройка логирования для сервисов."""
|
|
|
|
from __future__ import annotations
|
|
|
|
import logging
|
|
import sys
|
|
|
|
_LOG_FORMAT = "%(asctime)s | %(levelname)-8s | %(name)s | %(message)s"
|
|
|
|
|
|
def setup_logging(level: int = logging.INFO) -> None:
|
|
"""Настроить корневой логгер на вывод в stdout."""
|
|
handler = logging.StreamHandler(sys.stdout)
|
|
handler.setFormatter(logging.Formatter(_LOG_FORMAT))
|
|
|
|
root = logging.getLogger()
|
|
root.handlers.clear()
|
|
root.addHandler(handler)
|
|
root.setLevel(level)
|
|
|
|
# aiogram довольно шумный на INFO для сетевых событий
|
|
logging.getLogger("aiogram.event").setLevel(logging.WARNING)
|