From d6f3850614434bc57d8d477f8425e0e106ba9540 Mon Sep 17 00:00:00 2001 From: user Date: Sun, 15 Feb 2026 16:26:32 +0100 Subject: [PATCH] fix: set root logger handler level on SIGHUP log_level reload basicConfig creates a StreamHandler with its own level filter. Changing only the logger levels left the handler filtering at the original level, so debug messages were silently dropped after reload. Co-Authored-By: Claude Opus 4.6 --- src/s5p/server.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/s5p/server.py b/src/s5p/server.py index 9f19ff2..8f23903 100644 --- a/src/s5p/server.py +++ b/src/s5p/server.py @@ -267,9 +267,12 @@ async def serve(config: Config) -> None: config.retries = new.retries if new.log_level != config.log_level: config.log_level = new.log_level - logging.getLogger("s5p").setLevel( - getattr(logging, new.log_level.upper(), logging.INFO), - ) + level = getattr(logging, new.log_level.upper(), logging.INFO) + root = logging.getLogger() + root.setLevel(level) + for h in root.handlers: + h.setLevel(level) + logging.getLogger("s5p").setLevel(level) if isinstance(proxy_pool, ProxyPool) and new.proxy_pool: await proxy_pool.reload(new.proxy_pool) logger.info("reload: config reloaded")