2.0 KiB
2.0 KiB
2026-08-20 — Максимальное логирование (v0.0.51)
Проблема
SSE рвётся на проде (пару минут), обработка при этом продолжается (воркер жив). Логов в поде не было — приложение не писало в stdout, нельзя было диагностировать обрыв (внешний шлюз vs генератор).
Решение
site/app.py—setup_logging():- уровень из env
LOG_LEVEL(DEBUG/INFO/WARNING), default INFO logging.basicConfig(..., stream=sys.stderr, force=True)— в stdout/stderr пода- формат с таймстампом; уровни для логгеров drhider/app/routes/session
LOG_LEVELзадаётся через env-переменные приложения на платформе
- уровень из env
site/routes/api_bp.py— подробные логи:- upload: каждый файл (имя, размер), итог, ошибки
- process_stream: start, worker start/done (время, токены, zip_len), каждое событие progress (start/done) с idx/name/elapsed, disconnect на heartbeat/progress/complete/error (с причиной), result/complete, error event
- VERSION поднята до 0.0.51
Проверка (локально, DEBUG)
Upload 1 файла + SSE: видны все события от upload до complete.
LLM NER failed: Illegal header value b'Bearer ' — ожидаемо без ключа (локально).
Как читать логи пода после деплоя
kubectl logs -n 20a75175-a58c-49cb-b8fa-e86367b1a8dc <pod> --tail=500 --timestamps
- Если
process_stream: disconnect on progress— клиент/шлюз оборвал. - Если worker дошёл до
complete, а клиент не получил — рвёт шлюз/браузер. - Если
worker: exception— ошибка обработки.