Автоматизация (лог)¶
Журнал содержит информацию о выполнении смарт-автоматизаций: смарт-запросов, смарт-действий, смарт-расписаний, смарт-пакетов, смарт-доступа, смарт-скриптов (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.
Нажатие по колонке откроет план в модальном окне. По кнопке в правом верхнем углу план откроется в новой вкладке браузера.