kbase: debuglogs: Add a section describing log outputs and filters

Outline what the given settings influence.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Erik Skultety <eskultet@redhat.com>
This commit is contained in:
Peter Krempa 2022-01-17 13:45:02 +01:00
parent 5e38c32e3d
commit 69349e0902

View File

@ -17,6 +17,78 @@ Moreover, libvirt catches stderr of all running domains. These can be useful as
well. well.
Logging settings in libvirt
===========================
Log levels
----------
Libvirt log messages are classified into 4 priority levels; the higher the
priority level, the less is the volume of produced messages.
The log level setting is controlled by the ``log_filters`` and ``log_outputs``
settings explained in the `Log outputs`_ and `Log filters`_ sections
respectively.
* ``1: DEBUG``
* ``2: INFO``
* ``3: WARNING``
* ``4: ERROR``
For debugging it's necessary to capture the ``DEBUG`` level entries as the name
implies.
Log outputs
-----------
Log outputs describe where the log messages are being recorded. The outputs
are described by a space-separated list of tuples in the following format:
::
level:output
``level`` refers to the minimum priority level of entries recorded in the output.
``output`` is one of the following:
``file:FILENAME``
Logging messages are appended to FILENAME.
``journald``
Logging goes to the ``journald`` logging daemon.
``stderr``
Logging goes to the standard error output stream of the libvirt daemon.
``syslog:name``
Logging goes to syslogd. ``name`` is used to identify the entries.
The default output on systems running ``journald`` is ``3:journald``. Note that
``journald`` can throttle the amount of logs per process so in order to capture
debug logs of a libvirt daemon should go to a file instead (in addition to
theoriginal logging daemon), e.g.:
::
"1:file:/var/log/libvirt/libvirtd.log 3:journald"
Log filters
-----------
Log filters, as the name suggest, help filtering out messages which are
irrelevant to the cause. The log filters is a space-separated list of tuples
list of tuples using the ``level:identifier`` format. Each filter defined this
way will then limit messages coming from a module matching the ``identifier``
pattern (accepts globs too) to the given ``level``."
As ``identifier`` is based on internal naming of modules, preferred way of
configuring your filters is to start with the `Example filter settings`_.
The rule of thumb here is to have more logs rather than less and miss something
important.
How to turn on debug logs for libvirt How to turn on debug logs for libvirt
===================================== =====================================