Explorar o código

docs: Documentation for the 'LOG' element.

Serj Kalichev hai 6 meses
pai
achega
fabe28b3ab
Modificáronse 2 ficheiros con 92 adicións e 1 borrados
  1. 45 1
      docs/klish3.en.md
  2. 47 0
      docs/klish3.ru.md

+ 45 - 1
docs/klish3.en.md

@@ -2112,7 +2112,51 @@ If the `/tmp/cond_file` file exists, the "cmd1" command is available to the oper
 if it does not exist, the command is hidden.
 if it does not exist, the command is hidden.
 
 
 
 
-## klish plugin ##
+### LOG
+
+The `LOG` element defines way and scope to log client commands. The
+[`ACTION`](#action) resides inside `LOG` and specifies the logging code. These
+actions will be executed after client command finishing. The client command
+return code is available for the logging code.
+
+The `LOG` element can be specified inside the following elements:
+[`KLISH`](#klish) (global space), [`VIEW`](#view), [`COMMAND`](#command). The
+engine will use the closest `LOG` element for the logging. It means if `LOG` is
+defined inside `COMMAND` tag then this element will be selected for logging. If
+`COMMAND` has no nested `LOG` element then engine will search for `LOG` up
+through the hierarchy. I.e. it will search in `VIEW` (which the command is
+defined in) and then in global space.
+
+The `LOG` element is not mandatory. The one hierarchy level can't contain more
+than one `LOG` element.
+
+The flexibility and positioning of `LOG` elements allow to log different
+commands or command groups using different mechanisms.
+
+
+#### Examples
+
+```
+<LOG>
+  <ACTION sym="syslog"/>
+</LOG>
+
+<VIEW name="main">
+
+  <COMMAND name="cmd1" help="Command 1">
+    <ACTION sym="script">
+    ls
+    </ACTION>
+  </COMMAND>
+
+</VIEW>
+```
+
+The fact of "cmd1" command execution will be logged to the syslog. The `syslog`
+symbol is defined inside standard "klish" plugin.
+
+
+## The "klish" plugin
 
 
 The klish source tree includes the code for the standard "klish" plugin.
 The klish source tree includes the code for the standard "klish" plugin.
 The plugin contains basic data types, navigation command and other auxiliary data types
 The plugin contains basic data types, navigation command and other auxiliary data types

+ 47 - 0
docs/klish3.ru.md

@@ -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 входит код стандартного плагина "klish".
 В состав дерева исходных кодов klish входит код стандартного плагина "klish".