From 858f2f3cd0afecf8a4b12f2430ba42864419567f Mon Sep 17 00:00:00 2001 From: jeevi cao <542561541@qq.com> Date: Thu, 27 Mar 2025 21:13:01 +0800 Subject: [PATCH] fix: use stdout instead richHandler in loguru improve performance #7018 (#7024) * Update py_autofix.yml * fix: use stdout instead richHandler in loguru improve performance * Revert "Update py_autofix.yml" This reverts commit 7aed45e98602f57c2d6d33532080bad30cf02507. * log to stdout use env vairable control * feat: env LAGFLOW_PRETTY_LOGS --------- Co-authored-by: tianzhipeng Co-authored-by: caojianwei-jk --- src/backend/base/langflow/logging/logger.py | 26 ++++++++++++--------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/src/backend/base/langflow/logging/logger.py b/src/backend/base/langflow/logging/logger.py index c3124844b..f3e634d5a 100644 --- a/src/backend/base/langflow/logging/logger.py +++ b/src/backend/base/langflow/logging/logger.py @@ -231,17 +231,21 @@ def configure( if log_format is None or not is_valid_log_format(log_format): log_format = DEFAULT_LOG_FORMAT - - # Configure loguru to use RichHandler - logger.configure( - handlers=[ - { - "sink": RichHandler(rich_tracebacks=True, markup=True), - "format": log_format, - "level": log_level.upper(), - } - ] - ) + # pretty print to rich stdout development-friendly but poor performance, It's better for debugger. + # suggest directly print to stdout in production + log_stdout_pretty = os.getenv("LAGFLOW_PRETTY_LOGS", "true").lower() == "true" + if log_stdout_pretty: + logger.configure( + handlers=[ + { + "sink": RichHandler(rich_tracebacks=True, markup=True), + "format": log_format, + "level": log_level.upper(), + } + ] + ) + else: + logger.add(sys.stdout, level=log_level.upper(), format=log_format, backtrace=True, diagnose=True) if not log_file: cache_dir = Path(user_cache_dir("langflow"))