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

Журналы

TorrPlay сохраняет последние логи в кольцевой буфер в оперативной памяти. Их можно просматривать через API без прямого доступа к файлам на диске, что особенно удобно при работе в Docker.

Получение логов

Эндпоинт: GET /api/system/logs

Возвращает: массив JSON с последними записями логов, начиная с самых новых

ПараметрТипОбязательныйОписание
qstringНетПоиск без учёта регистра в сообщениях и структурированных полях
levelstringНетТочный уровень: DEBUG, INFO, WARN или ERROR

При включённой аутентификации для этого эндпоинта нужны те же учётные данные, что и для других защищённых запросов к API. Подробнее в разделе Аутентификация.

Параметры хранения и настройка

ПараметрЗначение по умолчаниюМаксимумОписание
log_store_size1001000Сколько записей логов хранится в кольцевом буфере; значение 0 отключает хранение в оперативной памяти
log_levelINFO—Минимальный уровень записей в логах (DEBUG, INFO, WARN, ERROR)
log_formattext—Формат вывода в stdout: text или json для структурированных логов

Поля записи

Каждый элемент возвращаемого массива JSON содержит следующие поля:

ПолеТипОписание
timestringВременная метка события в формате ISO 8601
levelstringУровень записи: DEBUG, INFO, WARN или ERROR
messagestringТекстовое описание события
dataobjectНеобязательные структурированные данные в формате «ключ — значение»; поле отсутствует, если данные не переданы

Пример ответа

[
  {
    "time": "2026-01-01T12:00:01Z",
    "level": "DEBUG",
    "message": "streaming is active, pausing background downloader"
  },
  {
    "time": "2026-01-01T12:00:00Z",
    "level": "INFO",
    "message": "stopping background downloader"
  }
]

Фильтровать сохранённые записи можно без доступа к файлам логов. При Bearer-аутентификации замените -u на -H "Authorization: Bearer your-jwt-token", а если аутентификация отключена, просто уберите этот параметр:

curl -u your-username:your-password "http://localhost:8090/api/system/logs?level=ERROR&q=storage"

Настройка детализации и объёма хранения

Чтобы получать подробные диагностические сообщения, установите для log_level значение DEBUG:

curl -X PATCH http://localhost:8090/api/v1/settings \
  -H "Content-Type: application/json" \
  -d '{"log_level": "DEBUG", "log_store_size": 500}'

Чтобы выводить в stdout структурированные логи в формате JSON — например, для сбора через Loki или Fluentd, — задайте log_format:

curl -X PATCH http://localhost:8090/api/v1/settings \
  -H "Content-Type: application/json" \
  -d '{"log_format": "json"}'
Последнее обновление