From e63517a887040f2b7610258c55f8b32b01531866 Mon Sep 17 00:00:00 2001 From: Untone Date: Sun, 31 Aug 2025 22:45:51 +0300 Subject: [PATCH] lesslogs --- utils/logger.py | 42 +++++++++++++++++++++++++++++++++++++++--- 1 file changed, 39 insertions(+), 3 deletions(-) diff --git a/utils/logger.py b/utils/logger.py index a81dd6f0..6e049a96 100644 --- a/utils/logger.py +++ b/utils/logger.py @@ -44,14 +44,30 @@ def filter(record: logging.LogRecord) -> bool: "GraphQL request:", "Traceback (most recent call last):", "graphql.error.graphql_error.GraphQLError: Требуется авторизация", + "load_drafts", + "GetUserDocuments", + "GetDrafts", + "During handling of the above exception", + "await gather", + "raise error", + "handle_field_error", + "await_result", ] ): return False # Не логируем ошибки авторизации и их трейсбеки # Подавляем повторяющиеся Ariadne логи - if record.name in ["ariadne", "graphql"] and record.levelno == logging.ERROR: + if record.name in ["ariadne", "graphql"]: message = record.getMessage() - if "Требуется авторизация" in message: + if any( + phrase in message + for phrase in [ + "Требуется авторизация", + "AuthorizationError", + "load_drafts", + "GraphQL request:", + ] + ): return False return True @@ -160,7 +176,21 @@ class AriadneAuthFilter(logging.Filter): # Полностью блокируем логи связанные с авторизацией в Ariadne return not any( phrase in message - for phrase in ["Требуется авторизация", "AuthorizationError", "GraphQL request:", "decorated_function"] + for phrase in [ + "Требуется авторизация", + "AuthorizationError", + "GraphQL request:", + "decorated_function", + "load_drafts", + "GetUserDocuments", + "GetDrafts", + "Traceback", + "await gather", + "handle_field_error", + "await_result", + "During handling", + "raise error", + ] ) @@ -168,6 +198,12 @@ class AriadneAuthFilter(logging.Filter): ariadne_logger.addFilter(AriadneAuthFilter()) graphql_logger.addFilter(AriadneAuthFilter()) +# Дополнительно блокируем логи на уровне модулей +for logger_name in ["ariadne.log_error", "ariadne", "graphql.execution.execute"]: + extra_logger = logging.getLogger(logger_name) + extra_logger.setLevel(logging.CRITICAL) + extra_logger.addFilter(AriadneAuthFilter()) + def custom_error_formatter(error: GraphQLError, debug: bool = False) -> dict[Any, Any]: """