From 820b0a6f069b8d0e82a3b182e563cf76e7a493a1 Mon Sep 17 00:00:00 2001 From: Shuchang Zheng Date: Thu, 5 Feb 2026 17:10:25 -0800 Subject: [PATCH] Fix third-party logger noise flooding stderr after structlog StreamHandler addition (#4649) --- skyvern/forge/sdk/forge_log.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/skyvern/forge/sdk/forge_log.py b/skyvern/forge/sdk/forge_log.py index 4371aff9..c55311c5 100644 --- a/skyvern/forge/sdk/forge_log.py +++ b/skyvern/forge/sdk/forge_log.py @@ -331,7 +331,11 @@ def setup_logger() -> None: root_logger = logging.getLogger() root_logger.handlers.clear() root_logger.addHandler(handler) - root_logger.setLevel(LOG_LEVEL_VAL) + # Root at WARNING so third-party loggers (temporalio, grpc, litellm, …) + # only surface warnings and errors. Our packages get the configured level. + root_logger.setLevel(logging.WARNING) + for name in ("skyvern", "cloud", "workers", "scripts", "browser_controller"): + logging.getLogger(name).setLevel(LOG_LEVEL_VAL) uvicorn_error = logging.getLogger("uvicorn.error") uvicorn_error.disabled = True