This commit is contained in:
@@ -44,14 +44,30 @@ def filter(record: logging.LogRecord) -> bool:
|
|||||||
"GraphQL request:",
|
"GraphQL request:",
|
||||||
"Traceback (most recent call last):",
|
"Traceback (most recent call last):",
|
||||||
"graphql.error.graphql_error.GraphQLError: Требуется авторизация",
|
"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 # Не логируем ошибки авторизации и их трейсбеки
|
return False # Не логируем ошибки авторизации и их трейсбеки
|
||||||
|
|
||||||
# Подавляем повторяющиеся Ariadne логи
|
# Подавляем повторяющиеся Ariadne логи
|
||||||
if record.name in ["ariadne", "graphql"] and record.levelno == logging.ERROR:
|
if record.name in ["ariadne", "graphql"]:
|
||||||
message = record.getMessage()
|
message = record.getMessage()
|
||||||
if "Требуется авторизация" in message:
|
if any(
|
||||||
|
phrase in message
|
||||||
|
for phrase in [
|
||||||
|
"Требуется авторизация",
|
||||||
|
"AuthorizationError",
|
||||||
|
"load_drafts",
|
||||||
|
"GraphQL request:",
|
||||||
|
]
|
||||||
|
):
|
||||||
return False
|
return False
|
||||||
|
|
||||||
return True
|
return True
|
||||||
@@ -160,7 +176,21 @@ class AriadneAuthFilter(logging.Filter):
|
|||||||
# Полностью блокируем логи связанные с авторизацией в Ariadne
|
# Полностью блокируем логи связанные с авторизацией в Ariadne
|
||||||
return not any(
|
return not any(
|
||||||
phrase in message
|
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())
|
ariadne_logger.addFilter(AriadneAuthFilter())
|
||||||
graphql_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]:
|
def custom_error_formatter(error: GraphQLError, debug: bool = False) -> dict[Any, Any]:
|
||||||
"""
|
"""
|
||||||
|
|||||||
Reference in New Issue
Block a user