Gibt es eine Möglichkeit, Syslog-Nachrichten an stdout umzuleiten?

8

Ich habe eine Anwendung, die in zwei Modi ausgeführt werden kann, entweder mit einer CLI oder als Daemon.

Ich verwende syslog() für die Protokollierung. Wenn ich jedoch im CLI-Modus arbeite, würde ich mir wünschen, dass die gesamte Protokollierung mit Ausnahme der mit LOG_DEBUG markierten Nachrichten an die Konsole gesendet und nicht protokolliert wird.

Ich habe versucht, setlogmask() zu verwenden, aber das scheint nicht zur Konsole umzuleiten.

Was ist der beste Weg, dies zu tun?

    
Brandon Yates 08.05.2013, 16:54
quelle

2 Antworten

4

Wie in den Kommentaren von maverik vorgeschlagen, habe ich einen Wrapper um syslog geschrieben, der festlegt, ob die Ausgabe an das Protokoll oder die Konsole gesendet werden soll. Hier ist es für den Fall, dass jemand das jemals braucht.

%Vor%     
Brandon Yates 08.05.2013 17:35
quelle
1

Als GNU-spezifische Lösung würde ich vorschlagen, openlog(NULL, LOG_PERROR, your_facility) zu verwenden. Nicht anpassbar (nur auf stderr duplizieren).

    
KAction 08.05.2013 17:42
quelle

Tags und Links