Логирование

В серверных и настольных редакциях платформы формируется лог-файл — журнал регистрации, в котором фиксируется выполнение каждого узла, что позволяет в случае возникновения ошибки выявить ее местоположение и возможную причину.

Правила формирования лог-файла (имя файла, его максимальный размер, уровень логирования и др.) задаются параметрами логирования.

Примечание: До версии 6.5.0 используется кодировка ANSI, соответствующая локали пользователя, из-под которого запущен Loginom Server. Начиная с версии 6.5.0 — UTF8.

Уровни логирования

Уровень логирования — параметр, который позволяет контролировать, какие действия, происходящие в программе, нужно записывать в зависимости от требуемой детализации процесса. С увеличением уровня логирования детализация и занимаемая память будут увеличиваться.

При выборе одного уровня логирования сообщения уровня выше записываться не будут.

Уровень логирования Входящие уровни
Трассировка Авария, Ошибка, Предупреждение, Событие, Информация, Отладка, Трассировка
Отладка Авария, Ошибка, Предупреждение, Событие, Информация, Отладка
Информация Авария, Ошибка, Предупреждение, Событие, Информация
Событие Авария, Ошибка, Предупреждение, Событие
Предупреждение Авария, Ошибка, Предупреждение
Ошибка Авария, Ошибка
Авария Авария

По умолчанию установлен уровень Информация. Этого уровня достаточно для простого пользования программой, так как уровни выше будут замедлять работу приложения.

Рассмотрим описание уровней логирования:

Уровень логирования Выводимые команды
Авария Выводит ошибки, приводящие к выходу сервера из строя
Ошибка Все ошибки попадают в лог, за исключением частых ошибок (например, ошибки преобразования типа в калькуляторе)
Предупреждение Предупреждения о проблемах в конфигурации (возникают при загрузке или копировании/вставке узлов), о несуществующих или лишних колонках при синхронизации колонок, об ошибках в калькуляторе. Ошибки, которые предоставляют информацию о возникновении непредвиденного события.
Событие Открытие пакета. Закрытие пакета. Сохранение пакета. Установка версии пакета. Конвертация пакета старой версии.
Информация Открытие (закрытие) сессий пользователя. Действия с сессиями и пакетами (закрытие пакетов и сессий) из менеджера сессий. Действия с сессиями и пакетами (закрытие пакетов и сессий) из менеджера сессий. Изменение пользователя (добавление, удаление, перемещение в группы) через администратора. Добавление (удаление) общих папок. Сообщения от менеджера памяти. Ошибки при обновлении колонок в визуализаторах "Таблица" и "Статистика".
Отладка Активация (деактивация) узлов. Ошибки преобразования типов для переменных типов в калькуляторе.
Трассировка Логируются все операции, например, подбор модели при обучении узла ARIMAX

Уровень Трассировка чаще всего используется только во время отладки процесса, для обычного пользования достаточно уровня Информация.

Формат записи в лог

Каждая строка в файле журнала представляет собой сообщение в формате:

yyyy-mm-ddThh:mm:ss.mss level (process:thread>user:session:[requestID]) — message [paramJSON],

где

  • yyyy-mm-ddThh:mm:ss.mss — дата и время с указанием миллисекунд (дата и время разделены литерой T);
  • level — уровень логирования;
  • process — имя запущенного процесса;
  • thread — номер потока;
  • user — имя пользователя, запустившего процесс;
  • session — номер сессии;
  • requestID — идентификатор запроса (необязательный параметр; присутствует, если процесс запущен из внешнего сервиса);
  • message — текст сообщения;
  • paramJSON — параметры в формате JSON (необязательный параметр).
Примеры записей лога

2021-06-10T14:09:39.980 info (Server.exe:4484>user:57:) - Инициализирована сессия для пользователя user{"SessionType": "Интерактивная сессия"}

2021-06-17T14:31:58.713 info (Server.exe:3364>service:93:ed331dffafc14923bb7aa43225fd01a5) - Закрыт пакет "/user/test-service.lgp"

2021-07-27T12:41:13.899 error (Server.exe:4244>user:23:) - Не удалось загрузить некоторые элементы конфигурации