Browse Source

[3427] User's Guide updated

Tomek Mrugalski 10 years ago
parent
commit
88adde4353
1 changed files with 53 additions and 259 deletions
  1. 53 259
      doc/guide/logging.xml

+ 53 - 259
doc/guide/logging.xml

@@ -126,7 +126,7 @@ Right now you can only see what their names are if they are running
 
 
           One final note about the naming. When specifying the
           One final note about the naming. When specifying the
           module name within a logger, use the name of the module
           module name within a logger, use the name of the module
-          as specified in <command>bindctl</command>, e.g.
+          as specified in JSON configuration, e.g.
           <quote>Dhcp4</quote> for the Dhcp4 module,
           <quote>Dhcp4</quote> for the Dhcp4 module,
           <quote>Dhcp6</quote> for the Dhcp6 module, etc. When
           <quote>Dhcp6</quote> for the Dhcp6 module, etc. When
           the message is logged, the message will include the name
           the message is logged, the message will include the name
@@ -297,65 +297,22 @@ TODO; there's a ticket to determine these levels, see #1074
           <title>output (string)</title>
           <title>output (string)</title>
 
 
         <para>
         <para>
-
-          Depending on what is set as the output destination, this
-          value is interpreted as follows:
-
+          This value determines the type of output. There are several
+          special values allowed here: <command>stdout</command> (messages
+          are printed on standard output), <command>stderr</command>
+          (messages are printed on stderr), <command>syslog</command> (messages
+          are logged to syslog using default name, <command>syslog:name</command>
+          (messages are logged to syslog using specified name). Any other
+          value is interpreted as a filename that the logs should be written to.
         </para>
         </para>
 
 
-        <variablelist>
-
-          <varlistentry>
-            <term><option>destination</option> is <quote>console</quote></term>
-            <listitem>
-              <para>
-                 The value of output must be one of <quote>stdout</quote>
-                 (messages printed to standard output) or
-                 <quote>stderr</quote> (messages printed to standard
-                 error).
-              </para>
-              <para>
-                Note: if output is set to <quote>stderr</quote> and a lot of
-                messages are produced in a short time (e.g. if the logging
-                level is set to DEBUG), you may occasionally see some messages
-                jumbled up together.  This is due to a combination of the way
-                that messages are written to the screen and the unbuffered
-                nature of the standard error stream.  If this occurs, it is
-                recommended that output be set to <quote>stdout</quote>.
-              </para>
-            </listitem>
-          </varlistentry>
-
-          <varlistentry>
-            <term><option>destination</option> is <quote>file</quote></term>
-            <listitem>
-              <para>
-                The value of output is interpreted as a file name;
-                log messages will be appended to this file.
-              </para>
-            </listitem>
-          </varlistentry>
-
-          <varlistentry>
-            <term><option>destination</option> is <quote>syslog</quote></term>
-            <listitem>
-              <para>
-                The value of output is interpreted as the
-                <command>syslog</command> facility (e.g.
-                <emphasis>local0</emphasis>) that should be used
-                for log messages.
-              </para>
-            </listitem>
-          </varlistentry>
-
-        </variablelist>
-
         <para>
         <para>
 
 
           The other options for <option>output_options</option> are:
           The other options for <option>output_options</option> are:
 
 
         </para>
         </para>
 
 
+        <!-- configuration of flush is not supported yet. 
         <section>
         <section>
           <title>flush (true of false)</title>
           <title>flush (true of false)</title>
 
 
@@ -366,7 +323,7 @@ TODO; there's a ticket to determine these levels, see #1074
             termination are output.
             termination are output.
           </para>
           </para>
 
 
-        </section>
+        </section> -->
 
 
         <section>
         <section>
           <title>maxsize (integer)</title>
           <title>maxsize (integer)</title>
@@ -409,7 +366,7 @@ TODO; there's a ticket to determine these levels, see #1074
           <para>
           <para>
             Maximum number of old log files to keep around when
             Maximum number of old log files to keep around when
             rolling the output file. Only relevant when
             rolling the output file. Only relevant when
-            <option>destination</option> is <quote>file</quote>.
+            <option>output</option> is <quote>file</quote>.
           </para>
           </para>
 
 
         </section>
         </section>
@@ -419,216 +376,53 @@ TODO; there's a ticket to determine these levels, see #1074
       </section>
       </section>
 
 
       <section>
       <section>
-        <title>Example session</title>
+        <title>Example Logger configurations</title>
 
 
         <para>
         <para>
-
           In this example we want to set the global logging to
           In this example we want to set the global logging to
-          write to the file <filename>/var/log/my_bind10.log</filename>,
-          at severity WARN. We want the authoritative server to
-          log at DEBUG with debuglevel 40, to a different file
-          (<filename>/tmp/debug_messages</filename>).
-
-        </para>
-
-        <para>
-
-          Start <command>bindctl</command>.
-
-        </para>
-
-        <para>
-
-           <screen>["login success "]
-&gt; <userinput>config show Logging</userinput>
-Logging/loggers	[]	list
-</screen>
-
-        </para>
-
-        <para>
-
-          By default, no specific loggers are configured, in which
-          case the severity defaults to INFO and the output is
-          written to stderr.
-
-        </para>
-
-        <para>
-
-          Let's first add a default logger:
-
-        </para>
-
-<!-- TODO: adding the empty loggers makes no sense -->
-        <para>
-
-          <screen>&gt; <userinput>config add Logging/loggers</userinput>
-&gt; <userinput>config show Logging</userinput>
-Logging/loggers/	list	(modified)
-</screen>
-
-        </para>
-
-        <para>
-
-          The loggers value line changed to indicate that it is no
-          longer an empty list:
-
-        </para>
-
-        <para>
-
-          <screen>&gt; <userinput>config show Logging/loggers</userinput>
-Logging/loggers[0]/name	""	string	(default)
-Logging/loggers[0]/severity	"INFO"	string	(default)
-Logging/loggers[0]/debuglevel	0	integer	(default)
-Logging/loggers[0]/additive	false	boolean	(default)
-Logging/loggers[0]/output_options	[]	list	(default)
-</screen>
-
-        </para>
-
-        <para>
-
-          The name is mandatory, so we must set it. We will also
-          change the severity as well. Let's start with the global
-          logger.
-
-        </para>
-
-        <para>
-
-          <screen>&gt; <userinput>config set Logging/loggers[0]/name *</userinput>
-&gt; <userinput>config set Logging/loggers[0]/severity WARN</userinput>
-&gt; <userinput>config show Logging/loggers</userinput>
-Logging/loggers[0]/name	"*"	string	(modified)
-Logging/loggers[0]/severity	"WARN"	string	(modified)
-Logging/loggers[0]/debuglevel	0	integer	(default)
-Logging/loggers[0]/additive	false	boolean	(default)
-Logging/loggers[0]/output_options	[]	list	(default)
+          write to the console using standard output.
+        </para>
+
+<screen><userinput>
+"Logging": {
+    "loggers": [
+        {
+            "name": "*",
+            "output_options": [
+                {
+                    "output": "stdout"
+                }
+            ], 
+            "severity": "WARN"
+        }
+    ]
+}
+</userinput>
 </screen>
 </screen>
 
 
-        </para>
-
-        <para>
-
-          Of course, we need to specify where we want the log
-          messages to go, so we add an entry for an output option.
-
-        </para>
-
-        <para>
-
-          <screen>&gt; <userinput> config add Logging/loggers[0]/output_options</userinput>
-&gt; <userinput> config show Logging/loggers[0]/output_options</userinput>
-Logging/loggers[0]/output_options[0]/destination	"console"	string	(default)
-Logging/loggers[0]/output_options[0]/output	"stdout"	string	(default)
-Logging/loggers[0]/output_options[0]/flush	false	boolean	(default)
-Logging/loggers[0]/output_options[0]/maxsize	0	integer	(default)
-Logging/loggers[0]/output_options[0]/maxver	0	integer	(default)
-</screen>
-
-
-        </para>
-
-        <para>
-
-          These aren't the values we are looking for.
-
-        </para>
-
-        <para>
-
-          <screen>&gt; <userinput> config set Logging/loggers[0]/output_options[0]/destination file</userinput>
-&gt; <userinput> config set Logging/loggers[0]/output_options[0]/output /var/log/kea.log</userinput>
-&gt; <userinput> config set Logging/loggers[0]/output_options[0]/maxsize 204800</userinput>
-&gt; <userinput> config set Logging/loggers[0]/output_options[0]/maxver 8</userinput>
-</screen>
-
-        </para>
-
-        <para>
-
-          Which would make the entire configuration for this logger
-          look like:
-
-        </para>
-
-        <para>
-
-          <screen>&gt; <userinput> config show all Logging/loggers</userinput>
-Logging/loggers[0]/name	"*"	string	(modified)
-Logging/loggers[0]/severity	"WARN"	string	(modified)
-Logging/loggers[0]/debuglevel	0	integer	(default)
-Logging/loggers[0]/additive	false	boolean	(default)
-Logging/loggers[0]/output_options[0]/destination	"file"	string	(modified)
-Logging/loggers[0]/output_options[0]/output	"/var/log/kea.log"	string	(modified)
-Logging/loggers[0]/output_options[0]/flush	false	boolean	(default)
-Logging/loggers[0]/output_options[0]/maxsize	204800	integer	(modified)
-Logging/loggers[0]/output_options[0]/maxver	8	integer	(modified)
-</screen>
-
-        </para>
-
-        <para>
-
-          That looks OK, so let's commit it before we add the
-          configuration for the authoritative server's logger.
-
-        </para>
-
-        <para>
-
-          <screen>&gt; <userinput> config commit</userinput></screen>
-
-        </para>
-
-        <para>
-
-          Now that we have set it, and checked each value along
-          the way, adding a second entry is quite similar.
-
-        </para>
-
-        <para>
-
-          <screen>&gt; <userinput> config add Logging/loggers</userinput>
-&gt; <userinput> config set Logging/loggers[1]/name Dhcp4</userinput>
-&gt; <userinput> config set Logging/loggers[1]/severity DEBUG</userinput>
-&gt; <userinput> config set Logging/loggers[1]/debuglevel 40</userinput>
-&gt; <userinput> config add Logging/loggers[1]/output_options</userinput>
-&gt; <userinput> config set Logging/loggers[1]/output_options[0]/destination file</userinput>
-&gt; <userinput> config set Logging/loggers[1]/output_options[0]/output /tmp/dhcp4_debug.log</userinput>
-&gt; <userinput> config commit</userinput>
-</screen>
-
-        </para>
-
-        <para>
-
-          And that's it. Once we have found whatever it was we
-          needed the debug messages for, we can simply remove the
-          second logger to let the DHCP server use the
-          same settings as the rest.
-
-        </para>
-
-        <para>
-
-          <screen>&gt; <userinput> config remove Logging/loggers[1]</userinput>
-&gt; <userinput> config commit</userinput>
-</screen>
-
-        </para>
-
-        <para>
-
-          And every module will now be using the values from the
-          logger named <quote>*</quote>.
-
-        </para>
-
+<para>In this second example, we want to store debug log messages
+in a file that is at most 2MB and keep up to 8 copies of old logfiles.
+Once the logfile grows to 2MB, it will be renamed and a new file
+file be created.</para>
+
+<screen><userinput>
+"Logging": {
+    "loggers": [
+        {
+            "name": "kea",
+            "output_options": [
+                {
+                    "output": "/var/log/kea-debug.log",
+                    "maxver": 8,
+                    "maxsize": 204800,
+                    "destination": "file"
+                }
+            ], 
+            "severity": "DEBUG",
+            "debuglevel": 99
+        }
+   ]
+}</userinput></screen>
       </section>
       </section>
 
 
     </section>
     </section>