Бэкенд Ринго пишет логи двумя способами:
stdout/stderr) — эти потоки по умолчанию перехватывает Docker и сохраняет через драйвер логов json-file.Уровни логирования: В Ринго используется стандартный набор уровней логирования: debug, info, warn, error. Глубина и детализация логов заданы в продукте и не предусматривают изменения через пользовательский интерфейс.
| Сервис | Расположение логов | Описание |
|---|---|---|
| Бэкенд | /logs внутри контейнера |
Ежедневно создаются новые файлы с названием вида backend.log.YYYY-MM-DD |
| Бэкенд | stdout/stderr |
Для просмотра: docker logs <container_name> |
| Nginx | /var/log/nginx/access.log, /var/log/nginx/error.log |
Символические ссылки на stdout и stderr. Поддерживает настройку уровня логирования. Рекомендуется оставлять настройки по умолчанию |
| PostgreSQL | stdout/stderr |
Поддерживает настройку уровней логирования. Рекомендуется оставлять настройки по умолчанию |
Драйвер логов json-file
Docker использует драйвер логов json-file. Все логи stdout и stderr контейнера записываются в файл:
/var/lib/docker/containers/<container_id>/<container_id>-json.log
По умолчанию ротация логов не настроена, поэтому Docker будет продолжать писать их, пока не заполнит всё свободное место на диске.
Docker с использованием драйвера json-file поддерживает ротацию логов по размеру файла и их количеству. Ротация по времени (дни или часы) не поддерживается.
Для включения ротации необходимо добавить параметры в файл docker-compose.yml и пересоздать контейнеры. Подробнее в офицальной документации Docker.
При обновлении Ринго контейнеры пересоздаются и получают новые идентификаторы. Старые логи при использовании драйвера
json-fileбудут удалены.
Для автоматического сбора логов используйте готовые скрипты. Скрипты предназначены для работы со стандартным драйвером логов json-file.
Подробная инструкция по ручному сбору логов доступна в отдельном разделе:
Чтобы настроить ротацию логов ознакомьтесь с отдельными руководствами: