Source code for insights.parsers.virtlogd_conf

"""
VirtlogdConf - file ``/etc/libvirt/virtlogd.conf``
==================================================

The VirtlogdConf class parses the file ``/etc/libvirt/virtlogd.conf``.
"""
from .. import LegacyItemAccess, Parser, parser
from insights.parsers import split_kv_pairs, get_active_lines
from insights.specs import Specs


[docs] @parser(Specs.virtlogd_conf) class VirtlogdConf(LegacyItemAccess, Parser): """Parse content of ``/etc/libvirt/virtlogd.conf``. The virtlogd.conf is in the standard ``conf`` file format and is read by the base parser class ``LegacyItemAccess``. Sample ``/etc/libvirt/virtlogd.conf`` file:: # Master virtlogd daemon configuration file # ################################################################# # # Logging controls # # Logging level: 4 errors, 3 warnings, 2 information, 1 debug # basically 1 will log everything possible #log_level = 3 # Logging filters: # A filter allows to select a different logging level for a given category # of logs # The format for a filter is one of: # x:name # x:+name # where name is a string which is matched against source file name, # e.g., "remote", "qemu", or "util/json", the optional "+" prefix # tells libvirt to log stack trace for each message matching name, # and x is the minimal level where matching messages should be logged: # 1: DEBUG # 2: INFO # 3: WARNING # 4: ERROR # # Multiple filter can be defined in a single @filters, they just need to be # separated by spaces. # # e.g. to only get warning or errors from the remote layer and only errors # from the event layer: #log_filters="3:remote 4:event" # Logging outputs: # An output is one of the places to save logging information # The format for an output can be: # x:stderr # output goes to stderr # x:syslog:name # use syslog for the output and use the given name as the ident # x:file:file_path # output to a file, with the given filepath # x:journald # ouput to the systemd journal # In all case the x prefix is the minimal level, acting as a filter # 1: DEBUG # 2: INFO # 3: WARNING # 4: ERROR # # Multiple output can be defined, they just need to be separated by spaces. # e.g. to log all warnings and errors to syslog under the virtlogd ident: #log_outputs="3:syslog:virtlogd" # # The maximum number of concurrent client connections to allow # over all sockets combined. #max_clients = 1024 # Maximum file size before rolling over. Defaults to 2 MB #max_size = 2097152 # Maximum number of backup files to keep. Defaults to 3, # not including the primary active file max_backups = 3 Examples: >>> conf.get('max_backups') '3' Attributes: data (dict): Ex: ``{'max_backups': '3'}`` """
[docs] def parse_content(self, content): self.data = split_kv_pairs(get_active_lines(content))