Логирование

Логгер - это глобальное свойство конфигурации сервера, которое позволяет регистрировать или иным образом обрабатывать входные и выходные данные вызовов функций, операций с переменными get и операций с переменными set.

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

Конфигурация логирования сессии

Эта группа содержит параметры, определяющие работу регистратора.

Включено

Указывает, включено ли ведение журнала.

Имя свойства: enabled

Тип свойства: Boolean

Выражение

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

Имя свойства: expression

Тип свойства: String

Нормальное количество одновременных задач

Количество потоков по умолчанию для обработки задач протоколирования.

Имя свойства: normalLoggerConcurrentWorkers

Тип свойства: Integer

Максимальное количество одновременных задач

Максимальное количество потоков, которые могут быть задействованы для обработки заданий по мере роста длины очереди.

Имя свойства: maximumLoggerConcurrentWorkers

Тип свойства: Integer

Максимальная длина очереди необработанных заданий

Максимальное количество задач, которые могут быть поставлены в очередь. Когда очередь задач достигнет этого максимума, дополнительные задачи будут отброшены.

Имя свойства: maximumLoggerQueLength

Тип свойства: Integer

Среда разрешения


Выражение регистратора сеанса Среда разрешения:


Контекст по умолчанию

Контекст переменной или функции, которая регистрируется. Обратите внимание, что это доступно в контексте переменной среды .

Таблица данных по умолчанию

Таблица данных, содержащая специфические для события данные для запускающего события.

Строка по умолчанию

0

Переменные среды

Имя переменной

Значение Тип

Описание

адрес

String

IP-адрес клиента.

контекст

String

Полный путь к контексту операции.

продолжительность

Long

Время выполнения операции.

entityName

String

Имя функции или переменной.

вход

String

Входные параметры (вход функции или значение для операции установки переменной)/

логин

String

Имя пользователя, выполняющего операцию

operationType

String

Тип операции, один из следующих:

  • CALL_FUNCTION
  • ПОЛУЧИТЬ_ПЕРЕМЕННУЮ
  • УСТАНОВИТЬ_ПЕРЕМЕННУЮ

вывод

String

Выходные параметры (выход функции или значение, полученное в результате операции получения переменной)

sessionId

Integer

Id текущей сессии

имя пользователя

String

Имя пользователя


Пример выражения регистратора сеансов


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


В следующем примере сначала фильтруются сущности с именем criticalContext. В этом случае он будет фильтровать вызовы функций с именем criticalContext и операции get или set над переменными с именем criticalContext.

Если эти критерии соблюдены, в примере устройства sampleCollector вызывается функция log и записывает в журнал следующую информацию, скомпонованную в строку:

now() - текущая временная метка.

{context} - Контекст по умолчанию.

{operationType} - Указывает, была ли зарегистрированная операция вызовом функции, получением или установкой переменной.

{entityName} - Имя переменной или вызванной функции. В данном примере это всегда будет criticalContext.

{duration} - количество времени, затраченное на выполнение вызова функции или операции получения/установки переменной.

{entityName} == "criticalContext" ? 
callFunction("users.admin.devices.sampleCollector", "log", now() + "', '" + {context} + "', '" + {operationType} + "', '" + {entityName} + "', " + {duration} + ")", true)
: