Um auf die diversen Probleme beim VDR-Logging einzugehen, hier nun eine Lösung, die mit einer Config-Änderung an nur einer Stelle so weit alle Fälle abdeckt.
Ergeben sich neue Einträge/Situationen ist die Config einfach anpassbar.
/etc/rsyslog.d/30-vdr.conf
# Enhanced VDR log handling. Redirect (and suppress) VDR-messages logged to syslog
## Suppress repeating messages with low relevance
# Messages related to the deactivated VDR-shutdown (on a server)
if $syslogtag startswith 'vdr-shutdown' and $msg contains 'Shutdown deactivated (see /etc/default/vdr)' then ~
if $syslogtag startswith 'vdr' and $msg contains 'executing \'/usr/lib/vdr/vdr-shutdown-message' then ~
if $syslogtag startswith 'vdr' and $msg contains 'saved setup to /var/lib/vdr/setup.conf' then ~
# PID changes
if $syslogtag startswith 'vdr' and $msg contains 'changing pids of channel' then ~
## redirect all remaining VDR related messages to a seperate log file
if $syslogtag startswith 'vdr' then -/var/log/vdr/vdr.log
& ~
Alles anzeigen
Gestoßen bin ich bei der Loggin-Problematik unter Anderem auf folgende Probleme, die mich letztendlich zur obigen Lösung führten:
- Der VDR besteht nicht nur aus der VDR-Binary selbst, sondern auch aus diversen Shell-Scripts. Diese loggen allesamt wild umher und ignorieren dabei die Config-Einstellung in der /etc/default/vdr die besagt, dass der VDR in einen bestimmten Syslog-Kanal loggen soll
- Leider hält sich nicht einmal die VDR-Binary selbst an die Logging-Einstellungen der /etc/default/vdr. Insbesondere sind es Plugins, die scheinbar recht ungezwungen direkt ins Syslog schreiben ohne jegliche Konfiguration zu beachten
Deshalb die Syslog-Anpassung, welche praktischerweise an zentraler Stelle mit nur einer zusätzlichen Datei zu bewerkstelligen ist - ohne etwaige bereits vorhandene Dateien anpassen zu müssen. Zusätzlich habe ich so auch gleich die Gelegenheit genutzt, um nicht relevante Meldungen gleich ganz zu unterdrücken.
Nicht ganz schön dabei ist lediglich, dass in Ubuntu 12.04 scheinbar eine Uralt-Version des rsyslog-Daemons verwendet wird. Den RainerScript-Code oben musste ich deshalb unschön redundant gestalten, da mir der rsyslog-Daemon einfach keine spitzen Klammern und eine Strukturierung der Bedingungen über mehrere Zeilen zulässt.
[/list]