Журналы
TorrPlay сохраняет последние логи в кольцевой буфер в оперативной памяти. Их можно просматривать через API без прямого доступа к файлам на диске, что особенно удобно при работе в Docker.
Получение логов
Эндпоинт: GET /api/system/logs
Возвращает: массив JSON с последними записями логов, начиная с самых новых
| Параметр | Тип | Обязательный | Описание |
|---|---|---|---|
q | string | Нет | Поиск без учёта регистра в сообщениях и структурированных полях |
level | string | Нет | Точный уровень: DEBUG, INFO, WARN или ERROR |
При включённой аутентификации для этого эндпоинта нужны те же учётные данные, что и для других защищённых запросов к API. Подробнее в разделе Аутентификация.
Параметры хранения и настройка
| Параметр | Значение по умолчанию | Максимум | Описание |
|---|---|---|---|
log_store_size | 100 | 1000 | Сколько записей логов хранится в кольцевом буфере; значение 0 отключает хранение в оперативной памяти |
log_level | INFO | — | Минимальный уровень записей в логах (DEBUG, INFO, WARN, ERROR) |
log_format | text | — | Формат вывода в stdout: text или json для структурированных логов |
Поля записи
Каждый элемент возвращаемого массива JSON содержит следующие поля:
| Поле | Тип | Описание |
|---|---|---|
time | string | Временная метка события в формате ISO 8601 |
level | string | Уровень записи: DEBUG, INFO, WARN или ERROR |
message | string | Текстовое описание события |
data | object | Необязательные структурированные данные в формате «ключ — значение»; поле отсутствует, если данные не переданы |
Пример ответа
[
{
"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"}'