36 lines
1.3 KiB
Python
36 lines
1.3 KiB
Python
"""Утилиты логирования с интеграцией RichHandler.
|
||
|
||
Предоставляет помощник для настройки корневого логгера на базе стандартного
|
||
модуля logging и `rich.logging.RichHandler` для улучшенной читаемости вывода
|
||
и наглядных трассировок исключений.
|
||
|
||
В модуле приняты:
|
||
- Формат: "%(asctime)s [%(levelname)s] %(message)s"
|
||
- Уровень: INFO по умолчанию
|
||
"""
|
||
|
||
import logging
|
||
|
||
from rich.logging import RichHandler
|
||
|
||
|
||
def configure_root_logger(
|
||
level: int = logging.INFO, datefmt: str | None = "%H:%M:%S"
|
||
) -> logging.Logger:
|
||
"""Настроить корневой логгер с RichHandler и вернуть корневой логгер.
|
||
|
||
Args:
|
||
level (int): Уровень логирования (например, logging.INFO).
|
||
datefmt (Optional[str]): Формат времени для меток времени.
|
||
|
||
Returns:
|
||
logging.Logger: Настроенный корневой логгер.
|
||
"""
|
||
logging.basicConfig(
|
||
level=level,
|
||
format="%(asctime)s [%(levelname)s] %(message)s",
|
||
datefmt=datefmt,
|
||
handlers=[RichHandler(rich_tracebacks=True, show_time=False)],
|
||
)
|
||
return logging.getLogger()
|