cleaner-log2
All checks were successful
Deploy on push / deploy (push) Successful in 2m53s

This commit is contained in:
2025-09-29 00:46:54 +03:00
parent d57e59f98b
commit d7e50c6e31

View File

@@ -21,6 +21,37 @@ def console_filter(record: logging.LogRecord) -> bool:
if record.name.startswith("urllib3") and "glitchtip.dscrs.site" in record.getMessage():
return False
# 🚫 Блокируем httpcore trace логи (спам от HTTP запросов)
if record.name.startswith("httpcore") and "_trace" in record.name:
return False
# 🚫 Блокируем повторяющиеся debug логи из резолверов
message = record.getMessage()
if record.levelno == logging.DEBUG and any(
spam_phrase in message
for spam_phrase in [
"connect_tcp.started",
"connect_tcp.complete",
"start_tls.started",
"start_tls.complete",
"send_request_headers",
"send_request_body",
"receive_response_headers",
"receive_response_body",
"response_closed",
"close.started",
"close.complete",
"Adding main_topic subquery",
"Adding topics subquery",
"get_shouts_with_links] Starting with limit=",
"Applied Python sorting by views_count",
"Raw cached data size:",
"Attempting to get cached data for key:",
"Данные получены из кеша по ключу",
]
):
return False
# Define `package` attribute with the relative path.
record.package = record.pathname[_leng_path + 1 :].replace(".py", "")
record.emoji = (
@@ -188,7 +219,18 @@ root_logger.setLevel(logging.DEBUG)
root_logger.addHandler(stream)
root_logger.addFilter(basic_filter) # 🔍 Базовый фильтр - позволяет Sentry получать все логи
ignore_logs = ["_trace", "httpx", "_client", "atrace", "aiohttp", "_client", "ariadne", "graphql", "urllib3"]
ignore_logs = [
"_trace",
"httpx",
"_client",
"atrace",
"aiohttp",
"_client",
"ariadne",
"graphql",
"urllib3",
"httpcore",
]
for lgr in ignore_logs:
loggr = logging.getLogger(lgr)
loggr.setLevel(logging.CRITICAL) # Подавляем все кроме критических ошибок
@@ -198,6 +240,11 @@ urllib3_logger = logging.getLogger("urllib3.connectionpool")
urllib3_logger.setLevel(logging.CRITICAL)
urllib3_logger.disabled = True # Полностью отключаем urllib3 логи
# 🚫 Подавляем httpcore trace логи (спам от HTTP запросов)
httpcore_logger = logging.getLogger("httpcore._trace")
httpcore_logger.setLevel(logging.CRITICAL)
httpcore_logger.disabled = True # Полностью отключаем httpcore trace логи
# Дополнительно подавляем логи GraphQL и Ariadne для ошибок авторизации
graphql_logger = logging.getLogger("graphql")
graphql_logger.setLevel(logging.CRITICAL) # Подавляем ERROR уровень для авторизации