Browse Source

[3806] Updated Logging section in the user guide.

Listed all loggers and updated the introductory text.
Marcin Siodelski 10 years ago
parent
commit
5b779d6b84
1 changed files with 92 additions and 36 deletions
  1. 92 36
      doc/guide/logging.xml

+ 92 - 36
doc/guide/logging.xml

@@ -85,25 +85,46 @@
           </para>
           </para>
 
 
           <para>
           <para>
-            If you want to specify logging for one specific library within a
-            daemon, you set the name to
-            <replaceable>daemon.library</replaceable>.  For example, the logger
-            used by the code from libdhcpsrv used in kea-dhcp4 binary has the
-            full name of <quote>kea-dhcp4.dhcpsrv</quote>. If there is no entry
-            in Logging for a particular library, it will use the configuration
-            given for the whole daemon.
+            When diagnosing the problem with the server's operation it is often
+            desired to use the DEBUG logging level to obtain the verbose output
+            from the server and libraries it uses. However, high verbosity may
+            be an overkill for the logging system in cases when the server
+            is processing high volume traffic. To mitigate this problem, Kea
+            is using multiple loggers, which can be configured independently
+            and which are responsible for logging messages from different
+            functional parts of the server. If the user, trying to diagnose the
+            problem, has a reasonably high confidence that the problem origins
+            in a specific function of the server, or the problem is related
+            to the specific type of operation, he may enable high verbosity
+            only for the relevant logger, thus limiting the debug messages
+            to the required minimum.
           </para>
           </para>
 
 
           <para>
           <para>
-            To illustrate this, suppose you want the dhcpsrv library
-            to log messages of severity DEBUG, and the rest of the
-            DHCPv4 server code to log messages of severity INFO. To achieve
-            this you specify two loggers, one with the name
-            <quote>kea-dhcp4</quote> and severity INFO, and one with
-            the name <quote>kea-dhcp4.dhcpsrv</quote> with severity
-            DEBUG. As there are no entries for other libraries,
-            they will use the configuration for the daemon
-            (<quote>kea-dhcp4</quote>), so giving the desired behavior.
+            The loggers are associated with a particular library or binary
+            of Kea. However, each library or binary may (and usually does)
+            include multiple loggers. For example, the DHCPv4 server binary
+            contains separate loggers for: packet parsing, for dropped packets,
+            for callouts etc. Each logger "derives" its configuration from the
+            root logger. In the typical case, the root logger configuration
+            is the only logging configuration specified in the configuration
+            file. Creating a specific configuration for the selected logger,
+            thus overriding the configuration settings specified in the
+            root logger configuration, requires putting its configuration
+            aside of the root logger's configuration with some of the
+            parameters modified.
+          </para>
+
+          <para>
+            To illustrate this, suppose you are using the DHCPv4 server
+            with the root logger <quote>kea-dhcp4</quote> logging at the
+            INFO level. In order to enable DEBUG verbosity for the DHCPv4
+            packet drops, you must create configuration entry for the
+            logger called <quote>kea-dhcp4.bad_packet</quote> and specify
+            severity DEBUG for this logger. All other configuration
+            parameters may be omited for this logger if the logger should
+            use the default values specified in the root logger's
+            configuration.
           </para>
           </para>
 
 
         <!-- we don't support asterisk anymore.
         <!-- we don't support asterisk anymore.
@@ -129,21 +150,6 @@
           </para>
           </para>
 
 
           <para>
           <para>
-            One final note about the naming. When specifying the daemon name
-            within a logger, use the name of the binary file,
-            e.g. <quote>kea-dhcp4</quote> for the DHCPv4 server,
-            <quote>kea-dhcp6</quote> for the DHCPv6 server, etc. When the
-            message is logged, the message will include the name of the process
-            (e.g. <quote>kea-dhcp4</quote>) followed by the specific component
-            in that process, e.g. <quote>hooks</quote>.  It is possible to
-            specify either just the process name (<quote>kea-dhcp4</quote>, will
-            apply to everything logged within that process) or process name
-            followed by specific logger,
-            e.g. <quote>kea-dhcp4.hooks</quote>. That will apply only to
-            messages originating from that component.
-          </para>
-
-          <para>
             Currently defined loggers are:
             Currently defined loggers are:
           </para>
           </para>
 
 
@@ -158,7 +164,7 @@
             <simpara><command>kea-dhcp4.bad_packet</command> - this is the
             <simpara><command>kea-dhcp4.bad_packet</command> - this is the
             logger used by the DHCPv4 server deamon for logging inbound client
             logger used by the DHCPv4 server deamon for logging inbound client
             packets that were dropped or to which the server responded with a
             packets that were dropped or to which the server responded with a
-            NAK.  The allows adminstrators to configure a separate log
+            DHCPNAK. The allows adminstrators to configure a separate log
             output that contains only packet drop and reject entries.</simpara>
             output that contains only packet drop and reject entries.</simpara>
           </listitem>
           </listitem>
           <listitem>
           <listitem>
@@ -174,8 +180,18 @@
           </listitem>
           </listitem>
           <listitem>
           <listitem>
             <simpara><command>kea-dhcp4.hooks</command> - this logger is used
             <simpara><command>kea-dhcp4.hooks</command> - this logger is used
-            during DHCPv4 hooks operation, i.e. anything related to user
-            libraries will be logged using this logger.</simpara>
+            by the hooks framework to log messages related to the execution of
+            callouts for various hook points. This logger doesn't log messages
+            which pertain to actions on the server side being the result of
+            the callout execution, e.g. skipping packet parsing by the server
+            because the callout has indicated that it has parsed the packet
+            already.</simpara>
+          </listitem>
+          <listitem>
+            <simpara><command>kea-dhcp4.hostname</command> - this logger is
+            used by the DHCPv4 server to log messages related to the Client
+            FQDN and Hostname option processing. It also includes log messages
+            related to the relevant DNS updates.</simpara>
           </listitem>
           </listitem>
           <listitem>
           <listitem>
             <simpara><command>kea-dhcp4.hosts</command> - this logger is used
             <simpara><command>kea-dhcp4.hosts</command> - this logger is used
@@ -184,6 +200,42 @@
             and adding new reservations.</simpara>
             and adding new reservations.</simpara>
           </listitem>
           </listitem>
           <listitem>
           <listitem>
+            <simpara><command>kea-dhcp4.lease</command> - this logger is used
+            by the DHCPv4 server to log messages related to the lease allocation.
+            These messages are logged for each processed packet. The messages
+            include detailed information about the allocated or offered leases,
+            errors during the lease allocation etc.
+            </simpara>
+          </listitem>
+          <listitem>
+            <simpara><command>kea-dhcp4.options</command> - this logger is
+            used by the DHCPv4 server to log messages related to processing
+            of the options in the DHCPv4 messages, i.e. parsing options,
+            encoding options into on-wire format and packet classification
+            using options contained in the received packets.</simpara>
+          </listitem>
+          <listitem>
+            <simpara><command>kea-dhcp4.packet</command> - this logger
+            is mostly used to log messages related to transmission of the DHCPv4
+            packets, i.e. packet reception and sending a response. Such messages
+            include the information about the source and destination IP addresses
+            and interfaces used to transmit packets. This logger is also used
+            to log messages related to subnet selection, as this selection is
+            usually based on the IP addresses and/or interface names, which can
+            be retrieved from the received packet, even before the DHCPv4 message
+            carried in the packet is parsed.
+            </simpara>
+          </listitem>
+          <listitem>
+            <simpara><command>kea-dhcp4.server-hook</command> - this logger is
+            used by the DHCPv4 server to log messages pertaining to the
+            preparations for the callouts execution by the server and to the
+            actions taken by the server as a result of the callouts execution.
+            Note that it is a different logger than the
+            <command>kea-dhcp4.hooks</command> logger.
+          </simpara>
+          </listitem>
+          <listitem>
             <simpara><command>kea-dhcp6</command> - this is the root logger for
             <simpara><command>kea-dhcp6</command> - this is the root logger for
             the DHCPv6 server. All components used by the DHCPv6 server inherit
             the DHCPv6 server. All components used by the DHCPv6 server inherit
             the settings from this logger if there is no specialized logger
             the settings from this logger if there is no specialized logger
@@ -202,8 +254,12 @@
           </listitem>
           </listitem>
           <listitem>
           <listitem>
             <simpara><command>kea-dhcp6.hooks</command> - this logger is used
             <simpara><command>kea-dhcp6.hooks</command> - this logger is used
-            during DHCPv6 hooks operation, i.e. anything related to user
-            libraries will be logged using this logger.</simpara>
+            by the hooks framework to log messages related to the execution of
+            callouts for various hook points. This logger doesn't log messages
+            which pertain to actions on the server side being the result of
+            the callout execution, e.g. skipping packet parsing by the server
+            because the callout has indicated that it has parsed the packet
+            already.</simpara>
           </listitem>
           </listitem>
           <listitem>
           <listitem>
             <simpara><command>kea-dhcp6.hosts</command> - this logger is used
             <simpara><command>kea-dhcp6.hosts</command> - this logger is used