SYSLOG(3)

BEZEICHNUNG
closelog, openlog, syslog - Schreib eine Nachricht an den syslog

ÜBERSICHT
#include <syslog.h>

void openlog( char *ident, int option, int facility)

void syslog( int priority, char *format, ...)

void closelog( void )

BESCHREIBUNG
Syslog ist eine Möglichkeit, Nachrichten (z.B. Status- oder Fehlerberichte) an eine zentrale Stelle auf dem System zu schicken und dort zu verarbeiten. Auf der Serverseite muss dazu der syslogd(8) gestartet werden, dieser empfängt die Nachrichten. openlog() stellt eine Verbindung zum syslog Server für das Programm her. Die Zeichenkette, auf die ident zeigt, wird vor jede Nachricht gehängt und ist normalerweise der Programmname. option und facility werden im nächsten Abschnitt behandelt. Die Benutzung von openlog() ist optional; Gegebenenfalls wird die Routine automatisch von syslog() aufgerufen, wenn es nötig ist, dann wird ident auf NULL gesetzt. syslog() erzeugt eine Log-Nachricht, die vom syslogd(8) verarbeitet wird. priority ist eine Kombination von facility und einem level, die im nächsten Abschnitt erläutert werden. Die verbleibenden Parameter sind format, wie bei printf(3), und weitere Argumente, die von format benötigt werden, mit der Ausnahme, dass die zwei Zeichen %m durch die Fehlermeldung (strerror) ersetzt werden, die dem aktuellen Wert von errno entsprechen. closelog() schließt den Deskriptor, der zum Schreiben der Log-Nachrichten benutzt wurde. Die Benutzung von closelog() ist optional.

PARAMETER
Dieser Abschnitt beschreibt die Parameter, die benutzt werden, um die Werte von option, facility, und priority zu setzen.

  option
Der Parameter option von openlog() ist eine ODER-Verknüpfung von einer dieser Konstanten:

LOG_CONS
    schreibt direkt auf die Systemkonsole, wenn ein Fehler beim Schreiben an den syslog auftritt.

LOG_NDELAY
    öffnet sofort eine Verbindung zum syslog (normalerweise wird die Verbindung erst dann hergestellt, wenn die erste Nachricht gelogt werden soll).

LOG_PERROR
    schreibt ebenfalls auf die Standardfehlerausgabe stderr.

LOG_PID
    logt zusätzlich die Prozess-ID bei jeder Nachricht.

  facility
Der Parameter facility wird benutzt, um anzugeben, welche Einrichtung die Nachricht sendet. Dadurch kann mit der Konfigurationsdatei syslog.conf erreicht werden, dass Nachrichten von unterschiedlichen Einrichtungen auch unterschiedlich behandelt werden.

LOG_AUTH
    Sicherheits-/Autorisations-Nachrichten. Wurde verworfen. Stattdessen sollte LOG_AUTHPRIV benutzt werden

LOG_AUTHPRIV
    Sicherheits-/Autorisations-Nachrichten

LOG_CRON
    Uhr-Dämonen) (cron und at)

LOG_DAEMON
    andere System-Dämonen

LOG_KERN
    Kernel-Nachrichten

LOG_LOCAL0 bis LOG_LOCAL7
    reserviert für den lokalen Gebrauch

LOG_LPR
    Nachrichten vom Drucker-Subsystem

LOG_MAIL
    Nachrichten vom Mail-Subsystem

LOG_NEWS
    Nachrichten vom Usenet News-Subsystem

LOG_SYSLOG
    Nachrichten, die intern vom syslogd erzeugt wurden

LOG_USER(default)
    Generische User-Level Nachrichten

LOG_UUCP
    Nachrichten vom UUCP-Subsystem

  level
Dieser Parameter gibt die Dringlichkeitsstufe der Nachricht an. Die Level sind, in fallender Wichtigkeit:

LOG_EMERG
    Das System ist unbrauchbar

LOG_ALERT
    Es müssen dringend Aktionen eingeleitet werden

LOG_CRIT
    Kritische Nachricht

LOG_ERR
    Fehlernachricht

LOG_WARNING
    Warnungen

LOG_NOTICE
    Normale, aber bedeutende Nachricht

LOG_INFO
    Normale Information

LOG_DEBUG
    Debuginformation

GESCHICHTE
Eine syslog-Funktion erschien in BSD 4.2.

SIEHE AUCH
logger(1), syslog.conf(5), syslogd(8).