From 47debebc0cedeb933ed24efcd78a47635d08d3b6 Mon Sep 17 00:00:00 2001 From: h Date: Thu, 8 Oct 2026 04:53:54 +0200 Subject: [PATCH] perf(logging): rich finds the aiogram router path with find_spec, setup_logging no longer imports aiogram in every service --- template/{{ part_dir }}/src/utils/logging.py.jinja | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/template/{{ part_dir }}/src/utils/logging.py.jinja b/template/{{ part_dir }}/src/utils/logging.py.jinja index 06e0f4d..218fcd5 100644 --- a/template/{{ part_dir }}/src/utils/logging.py.jinja +++ b/template/{{ part_dir }}/src/utils/logging.py.jinja @@ -1,5 +1,7 @@ import logging - +{% if 'aiogram_bot' in backend_services %}from importlib.util import find_spec +from pathlib import Path +{% endif %} from rich.console import Console from rich.logging import RichHandler from rich.traceback import install @@ -10,8 +12,12 @@ console = Console(width=env.log.console_width, color_system="auto", force_termin def setup_logging() -> None: -{% if 'aiogram_bot' in backend_services %} from aiogram.dispatcher import router # noqa: PLC0415 - +{% if 'aiogram_bot' in backend_services %} aiogram = find_spec("aiogram") + suppress = ( + [str(Path(aiogram.origin).parent / "dispatcher")] + if aiogram and aiogram.origin + else [] + ) {% endif %} logging.basicConfig( level=env.log.level_external, format="", @@ -26,7 +32,7 @@ def setup_logging() -> None: omit_repeated_times=False, show_time=env.log.show_time, {%- if 'aiogram_bot' in backend_services %} - tracebacks_suppress=[router], + tracebacks_suppress=suppress, {%- endif %} ) ],