Перейти к содержанию

Автоматизация (лог)

Журнал содержит информацию о выполнении смарт-автоматизаций: смарт-запросов, смарт-действий, смарт-расписаний, смарт-пакетов, смарт-доступа, смарт-скриптов (LUA). Запись всех SQL-запросов осуществляется через NLog.config.

Для смарт-скриптов журнал может содержать не только факт выполнения, но и пользовательские сообщения, записанные из кода скрипта. Для этого в смарт-скриптах доступны методы SS.logDebug(...), SS.logInfo(...), SS.logError(...), а в JavaScript также console.log(...), console.warn(...), console.error(...).

Сообщения записываются в журнал автоматизации и помогают отлаживать выполнение скрипта. Уровень детализации управляется кастомной настройкой приложения SmartScriptLogLevel. Допустимые значения: Debug, Info, Error; значение по умолчанию — Error. При уровне Error в журнал попадают только сообщения об ошибках, при Info — информационные сообщения и ошибки, при Debug — все сообщения, включая отладочные.

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

Вызовы SS.logError(...) и console.error(...) дополнительно дублируются в журнал исключений (ExceptionsLog) независимо от значения SmartScriptLogLevel. Это позволяет отслеживать ошибки скриптов через стандартный мониторинг исключений.

Для защиты от переполнения журнала действуют лимиты на количество записей за одно выполнение скрипта: debug — не более 10, info — не более 30, error — не более 50 сообщений. Сообщения сверх лимита отбрасываются.

В записях журнала и в стек-трейсах исключений отображается источник в формате SmartScript {ID} ("{Название}"), например SmartScript 525 ("Test js"). Это позволяет быстро идентифицировать скрипт, вызвавший ошибку, как в журнале автоматизации, так и в журнале исключений.

Ошибки выполнения скриптов записываются в журнал исключений как тип SmartScript. Запись содержит: идентификатор скрипта, название, идентификатор выполнения, идентификатор задачи (если применимо) и стек вызовов скрипта.

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

ℹ️ Смарт-автоматизации логируются в зависимости от общих настроек приложения

В строке с записью о выполнении хранимой процедуры по клику на иконку можно открыть текст процедуры в отдельном окне.

Нажатие на строку открывает полное сообщение об ошибке, повторное нажатие скрывает его.

Панель инструментов журнала:

Настройка столбцов. Позволяет выбрать столбцы для отображения в таблице. После нажатия на кнопку справа от таблицы станет доступна вкладка Колонки — нажатие на неё раскроет боковую панель, в которой  можно отметить нужные поля, доступные в данной категории или разделе:

ℹ️ Если в приложении задано ограничение на количество одновременно выгружаемых задач, и в вашем списке для выгрузки количество задач превышает это ограничение, вы увидите сообщение о невозможности выгрузить все задачи

Чтобы отсортировать строки в журнале нажмите на шапку с названием нужного столбца.  Рядом с названием столбца, по которому отсортированы задачи,  появится стрелка, которая отображает направление сортировки. Чтобы поменять направление сортировки нажмите ещё раз, а третье нажатие убирает сортировку:

Вы можете выполнять определенные действия со строками непосредственно из списка:

  • Отфильтровать по значению

  • Отфильтровать, исключая значение

  • Копировать

  • Копировать с заголовками

  • Экспортировать в CSV и в Excel

Сделать это можно с помощью контекстного меню. Нажмите на строку с задачей правой кнопкой мыши, и в появившемся меню выберите нужное действие:

При наведении на шапку колонки отображается иконка — нажатие на нее раскрывает окно действий:

Автоматическая ширина колонки

Автоматическая ширина колонок

Сгруппировать. Пример группировки:

Фильтр csv

Удалить csv фильтр

План запроса

В колонке План запроса отображается подробный план выполнения SQL-запроса, который генерируется автоматически при соблюдении следующих условий:

1. Функция работает исключительно для СУБД PostgreSQL.

2. Включено логирование SQL запросов в общих настройках приложения.

3. Задан временной порог для выполнения планов в кастомной настройке приложения LogPlanExecution.

4. Превышена длительность — фактическое время выполнения запроса должно превысить значение, указанное в LogPlanExecution.

Нажатие по колонке откроет план в модальном окне. По кнопке в правом верхнем углу план откроется в новой вкладке браузера.

Описание лога в прежнем интерфейсе администрирования