27 lines
868 B
Python
27 lines
868 B
Python
"""
|
||
Настройка логирования для бота.
|
||
|
||
Формат: [время] УРОВЕНЬ [модуль] сообщение
|
||
Логи пишутся в stdout (Docker подхватывает их через docker logs).
|
||
"""
|
||
import logging
|
||
import sys
|
||
|
||
|
||
def setup_logging(level: str = "INFO") -> None:
|
||
fmt = "%(asctime)s %(levelname)-8s [%(name)s] %(message)s"
|
||
datefmt = "%Y-%m-%d %H:%M:%S"
|
||
logging.basicConfig(
|
||
level=getattr(logging, level.upper(), logging.INFO),
|
||
format=fmt,
|
||
datefmt=datefmt,
|
||
stream=sys.stdout,
|
||
force=True,
|
||
)
|
||
# Приглушаем шумные библиотеки
|
||
logging.getLogger("uvicorn.access").setLevel(logging.WARNING)
|
||
logging.getLogger("aiosqlite").setLevel(logging.WARNING)
|
||
|
||
|
||
def get_logger(name: str) -> logging.Logger:
|
||
return logging.getLogger(name)
|