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 <noreply@anthropic.com>
This commit is contained in:
user
2026-02-15 16:26:32 +01:00
parent a5e634e406
commit d6f3850614

View File

@@ -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")