This commit is contained in:
@@ -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]:
|
||||
"""
|
||||
|
||||
Reference in New Issue
Block a user