Logging in extra Datei

  • Hallo,


    die VDR-Logs laufen bei mir normal mit ins Syslog rein. Also /var/log/messages. Ich hätte das gerne getrennt, so das der vdr in bspw. /var/log/vdr loggt.
    Ist das hier richtig oder gibt es einen extra "VDR-Weg"?


    Und wie sieht das bei syslog-ng aus?

    VDR-Server: Gentoo (AMD64/Core-i7) / VDR-1.7.23 / Digital Devices Octopus CI & 2xDuoFlex S2 HDTV (Rev. V3)
    VDR-Client: Gentoo (AMD64/Atom-D525) / VDR-1.7.23 / Chieftech & iMON-Pad / ASUSTeK - AT5IONT-I / 4GB-RAM & 65GB-SSD
    Alt: 3xTT-1.5 / linuxtv-dvb-1.1.1 + test_av-1.28 + FW-2622 / vdr-1.3.37 / viele Plugins / LFS-4.1

  • Ist das hier richtig


    Ja.


    oder gibt es einen extra "VDR-Weg"?


    Speziell für den VDR ist es sinnig auch noch stdout und stderr zu loggen. Dann bekommt man den output der Scripte die vom VDR gestartet werden.


    Und wie sieht das bei syslog-ng aus?


    Da wird das sicher auch gehen, einfach mal die Anleitung lesen.


    cu

  • Speziell für den VDR ist es sinnig auch noch stdout und stderr zu loggen. Dann bekommt man den output der Scripte die vom VDR gestartet werden.


    Hast Du das schon mal gemacht?

    VDR-Server: Gentoo (AMD64/Core-i7) / VDR-1.7.23 / Digital Devices Octopus CI & 2xDuoFlex S2 HDTV (Rev. V3)
    VDR-Client: Gentoo (AMD64/Atom-D525) / VDR-1.7.23 / Chieftech & iMON-Pad / ASUSTeK - AT5IONT-I / 4GB-RAM & 65GB-SSD
    Alt: 3xTT-1.5 / linuxtv-dvb-1.1.1 + test_av-1.28 + FW-2622 / vdr-1.3.37 / viele Plugins / LFS-4.1


  • Hast Du das schon mal gemacht?


    Ich hatte irgendwie extreme Probleme damit die auf der Shell umzuleiten. Ich habe dann einfach den VDR gepatcht so das er direkt in die Logdateien schreibt. Der Vorteil ist halt das man den Output der ganzen Systemaufrufe sieht und damit Fehlern viel schneller auf die Spur kommt. Das sieht in vdr.c so aus:


    BTW: Man kann auch noch nach den Beenden des VDR nen logrotate ins Startscript schreiben, dann hat man für jeden VDR Lauf nen eigenen Logsatz (ist sehr viel übersichtlicher).


    Ferner kann man sich auch noch automatisch nen Backtrace erstellen lassen falls der VDR abgestürzt war. Dazu setze ich direkt vor dem VDR Start nen individuellen Corefile Name
    --
    corename=\$(date \"+%s\")
    echo "/tmp/%e-\$corename.core" > /proc/sys/kernel/core_pattern
    --
    und erzeuge nach dem Ende des VDR nen Backtrace falls nen Corefile existiert und packe den dann zusammen mit den dazugehörigen Logs zusammen ins tar.

    Code
    if [ -e /tmp/vdr-\$corename.core ]; then
    				gdb -batch -x /etc/gdb/backtrace $DAEMON /tmp/vdr-\$corename.core > /var/log/vdr/backtrace.txt
    				tar -cjf /var/log/vdr/\$(date "+%Y-%m-%d-%H-%M-%S").tar.bz2  --directory=/var/log/vdr/ backtrace.txt vdr.log vdr.stdout vdr.stderr vdr.InitStdOut vdr.InitStdErr
    				rm /var/log/vdr/backtrace.txt
    				rm /tmp/\vdr-\$corename.core
    			fi
    			logrotate -f /usr/share/vdr/logrotate.conf


    dann hat man immer alle Infos parat.


    cu


    PS: Ja, ich stehe auf logging ;)

  • Ich werde der Einfachheit wohl das auch so für mein Gentoo machen. Werde mal den Patch vorbereiten.
    Und beim Starten vom VDR gibst zu zusätzlich dann welchen Parameter mit (wegen if (Terminal))?

    VDR-Server: Gentoo (AMD64/Core-i7) / VDR-1.7.23 / Digital Devices Octopus CI & 2xDuoFlex S2 HDTV (Rev. V3)
    VDR-Client: Gentoo (AMD64/Atom-D525) / VDR-1.7.23 / Chieftech & iMON-Pad / ASUSTeK - AT5IONT-I / 4GB-RAM & 65GB-SSD
    Alt: 3xTT-1.5 / linuxtv-dvb-1.1.1 + test_av-1.28 + FW-2622 / vdr-1.3.37 / viele Plugins / LFS-4.1

  • Und beim Starten vom VDR gibst zu zusätzlich dann welchen Parameter mit (wegen if (Terminal))?


    Garnix extra, ich habe der Einfachheit halber den kompletten Codeblock gepostet. Du siehst in vdr.c schon was da im Orginal steht und was du ändern musst (die Änderung ist nicht sehr koplex).


    Du musst nur darauf achten das der VDR Schreibrechte für diese Dateien hat, sonst stürzt er beim Start ab.


    cu

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!