From 13cf716bb1cfce708a3b2f88c60b1acf5d91e784 Mon Sep 17 00:00:00 2001 From: Leo Vasanko Date: Thu, 3 Sep 2026 16:03:55 +0000 Subject: [PATCH] Silence httpx request logs, log favicon fetches in one line --- pagerite/tracking.py | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/pagerite/tracking.py b/pagerite/tracking.py index 88349ea..2b16430 100644 --- a/pagerite/tracking.py +++ b/pagerite/tracking.py @@ -31,6 +31,10 @@ from pagerite.state import SITE_URL, _html_response, analytics_store logger = logging.getLogger(__name__) +# httpx logs every request at INFO (e.g. the favicon fetches below); our own +# one-line summary in _schedule_favicon_fetch replaces that noise. +logging.getLogger("httpx").setLevel(logging.WARNING) + router = APIRouter() # Live WebSocket clients for the analytics stream. @@ -253,9 +257,18 @@ async def _fetch_favicon(origin: str) -> None: def _schedule_favicon_fetch() -> None: """Start background favicon fetches for origins that need one.""" - for origin in analytics_store.favicon_origins_needed(): - if origin in _favicon_in_flight: - continue + origins = [ + origin + for origin in analytics_store.favicon_origins_needed() + if origin not in _favicon_in_flight + ] + if not origins: + return + logger.info( + "Fetching favicons: %s", + ", ".join(o.removeprefix("https://") for o in origins), + ) + for origin in origins: _favicon_in_flight.add(origin) asyncio.create_task(_fetch_favicon(origin))