|
|
@@ -2140,6 +2140,53 @@ SEQ сам может быть элементом контейнера SWITCH.
|
|
|
если не существует, то команда скрыта.
|
|
|
|
|
|
|
|
|
+### LOG
|
|
|
+
|
|
|
+С помощью элемента `LOG` задаётся способ и область журналирования. Внутри
|
|
|
+элемента `LOG` указываются действия [`ACTION`](#action), которые будут запущены
|
|
|
+после завершения пользовательской команды. Для этих действий доступен код
|
|
|
+завершения команды. Как именно реализовано журналирование определяется кодом
|
|
|
+`ACTION` элемента `LOG`.
|
|
|
+
|
|
|
+Сам элемент `LOG` может встречаться внутри элементов [`KLISH`](#klish) (т.е. в
|
|
|
+глобальном пространстве), [`VIEW`](#view), [`COMMAND`](#command). При
|
|
|
+выполнении команды будет использован ближайший к определению команды элемент
|
|
|
+`LOG`. Это означает, что если `LOG` определён внутри элемента `COMMAND`, то
|
|
|
+будет выбран именно он. Если же внутри команды элемент `LOG` не определён, то
|
|
|
+поиск пойдёт вверх по иерархии. Т.е. сначала будет производиться в элементе
|
|
|
+`VIEW`, внутри которого объявлена команда, а если и там `LOG` не найден, то в
|
|
|
+глобальном пространстве.
|
|
|
+
|
|
|
+Отсутствие элемента `LOG` в файле конфигурации не является ошибкой. В этом
|
|
|
+случай журналирование просто не будет производиться. На одном уровне иерархии
|
|
|
+нельзя определять более одного элемента `LOG`.
|
|
|
+
|
|
|
+Гибкость элемента `LOG` и возможности его размещения позволяют производить
|
|
|
+журналирование различными способами для разных команд или групп команд.
|
|
|
+
|
|
|
+
|
|
|
+#### Примеры
|
|
|
+
|
|
|
+```
|
|
|
+<LOG>
|
|
|
+ <ACTION sym="syslog"/>
|
|
|
+</LOG>
|
|
|
+
|
|
|
+<VIEW name="main">
|
|
|
+
|
|
|
+ <COMMAND name="cmd1" help="Command 1">
|
|
|
+ <ACTION sym="script">
|
|
|
+ ls
|
|
|
+ </ACTION>
|
|
|
+ </COMMAND>
|
|
|
+
|
|
|
+</VIEW>
|
|
|
+```
|
|
|
+
|
|
|
+Факт выполнения команды "cmd1" будет записан в syslog. Символ `syslog`
|
|
|
+определён в стандартном плагине "klish".
|
|
|
+
|
|
|
+
|
|
|
## Плагин "klish"
|
|
|
|
|
|
В состав дерева исходных кодов klish входит код стандартного плагина "klish".
|