Общие сведения
При работе Polymatica Analytics могут логироваться:
- системные события;
- пользовательские события;
- события мультисфер;
- события экспорта.
В этом разделе рассматривается конфигурирование соответствующих логгеров, а также получение системных и пользовательских логов через GET-запросы и отправка логов через POST-запросы.
Конфигурирование логгеров
Логгеры конфигурируются в общем файле конфигурации /etc/polymatica/polymatica.conf. Чтобы изменения в файле вступили в силу, необходимо перезапускать Polymatica Analytics командой
systemctl restart polymatica.service
Наименования логгеров:
- main – логгер системных событий;
- user_actions – логгер пользовательских событий;
- export – логгер событий экспорта;
- Import – логгер событий мультисфер.
Для конфигурирования логгера необходимо указать префикс «plm.log.», наименование логгера (кроме некоторых исключений, см. примечание в таблице) и наименование параметра:
plm.log.main.enabled
а также значение, если параметр принимает значение какого-либо типа:
plm.log.main.file.path = logs/main
Параметры логгеров
Параметр | Тип значения | Состояние по умолчанию* | Описание | Примечание | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
enabled | – | Выключен | Включает логирование | – | ||||||||
loglvl | int | 3 | Определяет уровень логирования. В лог записываются события с указанным уровнем логирования и выше. Принимаемые значения:
Чем выше уровень логирования, тем меньше событий регистрируется в логах. Поддерживаемые сообщения для логгеров user_actions и export — 2, для логгера main — 0–6. | При установке определенных уровней для основного логгера (main), выводится дополнительная информация об окружении импорта.
Любой более подробный уровень логирования включает сообщения менее подробных уровней. На всех уровнях логирования основного логгера (main) отображается UUID мультисферы в виде префикса для каждой записи о состоянии импорта и о работе с мультисферой (открытие, закрытие, сохранение). | ||||||||
file.path | string | См. примечание | Для логгера main: директория размещения файлов логов. Для прочих логгеров: размещение файла для записи логов | Путь указывается относительно корня репозитория /var/plmrepo/, например: logs/main Значение по умолчанию для логгера main:
Значения по умолчанию для других логгеров, если параметр не задан:
| ||||||||
log_to_file | – | Выключен | Включает сохранение лога в файл | Логгер main ежедневно создает новый файл. Прочие логгеры записывают события в постоянный файл | ||||||||
split | – | Выключен | Включает раздельную запись лога в различные файлы по модулям | Доступен только для логгера main. В присутствии этого параметра отменяется ежедневное создание общего файла. Файлы записываются в директорию, указанную параметром file.path | ||||||||
max_files | int | 30 | Ротация файлов лога. При превышении заданного количества удаляется самый старый файл | Доступен только для логгера main, который ежедневно создает новый файл. Для конфигурирования параметра не требуется указывать имя логгера, используйте plm.log.max_files | ||||||||
log_to_stdout | – | Выключен | Включает вывод лога в stdout | Игнорируется, если выставлен параметр plm.daemon_mode | ||||||||
custom_file_formatting | string | См. примечание | Определяет форматирование записи лога. Для форматирования могут быть использованы обычные символы латиницы и флаги:
| Значения по умолчанию, если параметр не задан:
'%Y-%m-%d %H:%M:%S'; %v
[%Y-%m-%d %X.%e %z][%8l][%n] %v |
* Состояние по умолчанию – это значение параметра, когда он не задан в конфигурации.
** Специальные флаги возвращают информацию, которую можно найти в окне приложения «Настройки», в верхнем углу, в поле «Версия», где слева направо даны: версия_приложения-коммит_фронтенда-коммит_бэкенда.
Параметры, связанные с логированием, также приводятся на странице Файл конфигурации, в разделе «Настройки логгеров».
Пример конфигурации логгера
Для примера сконфигурируем логгер user_actions.
plm.log.user_actions.enabled plm.log.user_actions.loglvl = 1 plm.log.user_actions.log_to_file plm.log.user_actions.file.path = logs/user_actions/user_actions plm.log.user_actions.custom_file_formatting = '%Y-%m-%d %H:%M:%S'; '%*-%<-%>'; %v
Получение логов через GET-запросы
Через GET-запросы могут быть получены следующие логи.
- GET //host/api/v2/logs – получение списка файлов лога системных событий при условии, что для параметра plm.log.main.file.path используется значение по умолчанию.
- GET //host/api/v2/logs/last – скачивание текущего файла лога системных событий при условии, что для параметра plm.log.main.file.path используется значение по умолчанию и параметр plm.log.main.split выключен.
- GET //host/api/v2/logs/<name> – скачивание файла лога системных событий по его имени (<name> из запроса //host/api/v2/logs) при условии, что для параметра plm.log.main.file.path используется значение по умолчанию.
- GET //host/resources/userlog – скачивание файла лога пользовательских событий при условии, что для параметра plm.log.user_actions.file.path используется значение по умолчанию.