Перейти к содержимому

Журнал приложения

Администратор портала смотрит что сломалось в процессе, не выходя в SSH: Админка → Журнал.

Это не аудит («кто сделал действие») и не журнал заданий (итог job в portal_jobs).


СлойГдеЗачем
Журнал в продуктетаблица portal_logs, вкладка ЖурналОшибки и предупреждения Api / Worker / Chat
StdoutDocker / Kubernetes / journalctl / Event LogВсегда пишется; удобно для оркестратора
Аварийный файл{PORTAL_DATA_DIR}/logs/portal-{process}.logТолько если PostgreSQL недоступен

Логи nginx, Postgres, Redis, Portal Office, LiveKit в эту таблицу не попадают — смотрите канал установки ниже.


  1. Войдите как администратор портала.
  2. Админка → Журнал.
  3. Фильтры: уровень, процесс (api / worker / chat), текст, correlation id, id задания.
  4. Карточка строки — полный текст, стек, properties, ссылка на задание.
  5. Обзор показывает 5 последних Error и кнопку «Все в журнале».
  6. У failed-задания: Найти в журнале (jobId).

Настройки на той же странице (без рестарта Api/Worker/Chat):

ПолеПо умолчаниюСмысл
Уровень в БДWarningWarning / Error / Critical. Information — только для указанных категорий
Срок14 дней (1…365)Старше — удаляет job logging.purge
Потолок256 МБ (16…4096)Сверх лимита удаляются самые старые
Категории InfoпустоНапример Portal.Application.Jobs
МаскированиевклПароли, bearer, connection strings

Очистить журнал удаляет все строки portal_logs (аудит и задания не трогает).
Выгрузить — txt или json за текущий фильтр (до 5000 строк).

Служба Журнал приложения (logging): выкл = только stdout; ⋮ → Запустить = ручной purge.


Каждый HTTP-запрос к Api получает X-Correlation-Id (свой или сгенерированный) — тот же id в ответе и в строке журнала.

При ошибке 500 администратор видит correlationId в JSON; обычным пользователям по-прежнему «Внутренняя ошибка сервера».

Задания Worker наследуют id из payload.


Сначала откройте Админка → Журнал. Если записи нет (служба выкл, старт до БД, другой процесс) — stdout:

Docker Compose

Окно терминала
docker compose logs --tail=200 backend worker chat

Kubernetes

Окно терминала
kubectl -n portal logs deploy/portal-backend --tail=200
kubectl -n portal logs deploy/portal-worker --tail=200

Native Linux

Окно терминала
journalctl -u portal-api -u portal-worker -n 200 --no-pager

Native Windows — Event Log служб PortalApi / PortalWorker.

Опционально при установке (рестарт процесса): PORTAL_LOG_FORMAT=json в .env / portal.env / Helm logging.format — JSON в stdout для сбора в стек логов. Уровень БД задаётся только в админке.

Аварийные файлы: {PORTAL_DATA_DIR}/logs/ (Docker volume portal_data, PVC, /var/lib/portal/logs).

Support bundle (deploy/scripts/support-bundle.sh) добавляет хвост portal_logs и аварийных файлов.