Provided by: manpages-de-dev_4.13-4_all bug

BEZEICHNUNG

       closelog, openlog, syslog, vsyslog - verschickt Nachrichten an die Systemprotokollierung

ÜBERSICHT

       #include <syslog.h>

       void openlog(const char *ident, int option, int facility);
       void syslog(int priority, const char *format, …);
       void closelog(void);

       void vsyslog(int priority, const char *format, va_list ap);

   Mit Glibc erforderliche Makros (siehe feature_test_macros(7)):

       vsyslog():
           Seit Glibc 2.19:
               _DEFAULT_SOURCE
           Glibc 2.19 und älter:
               _BSD_SOURCE

BESCHREIBUNG

   openlog()
       openlog() öffnet für ein Programm eine Verbindung zum Syslog-Daemon.

       Die  Zeichenkette  ident  wird jeder Nachricht vorangestellt und wird üblicherweise auf den Programmnamen
       gesetzt. Falls ident gleich  NULL  ist,  wird  der  Programmname  benutzt.  (POSIX.1-2008  enthält  keine
       Spezifikation für den Fall, dass ident gleich NULL ist)

       Der option-Parameter definiert Schalter, welche die Ausführung von Openlog und darauffolgende Aufrufe von
       syslog()  steuern.  Der  facility-Parameter  definiert einen Standardwert, welcher benutzt wird, falls in
       darauffolgenden syslog()-Aufrufen nichts spezifiziert wurde. Die  Werte,  die  für  option  und  facility
       angegeben werden dürfen, werden weiter unten beschrieben.

       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() und vsyslog()
       syslog() erzeugt eine Protokoll-Nachricht, die vom syslogd(8) verteilt wird.

       Der Parameter priority ist das Ergebnis einer ODER-Verknüpfung eines Werts facility und eines Werts level
       (weiter unten beschrieben). Falls kein Wert facility mit priority  ODER-verknüpft  wird,  dann  wird  der
       durch openlog() gesetzte Vorgabewert verwandt, oder, falls es keinen vorhergehenden Aufruf openlog() gab,
       die Vorgabe LOG_USER verwandt.

       Die verbleibenden Parameter sind format, wie bei printf(3) und weitere Parameter, die von format benötigt
       werden. Allerdings wird die Zwei-Zeichen-Folge %m durch die Fehlermeldung strerror(errno) ersetzt werden.
       Die Formatzeichenkette muss kein abschließendes Zeilenumbruchzeichen enthalten.

       Die  Funktion  vsyslog()  führt  die gleiche Aufgabe aus wie syslog(), mit dem Unterschied, dass sie eine
       Liste an Parametern erhält, die mit Makros aus der stdarg(3)-Variablenliste abgefragt werden.

   closelog()
       closelog() schließt den Dateideskriptor, der zum Schreiben der Protokoll-Nachrichten benutzt  wurde.  Die
       Benutzung von closelog() ist optional.

   Werte für option
       Der Parameter option von openlog() ist eine Bitmaske, die durch ODER-Verknüpfung beliebiger der folgenden
       Werte erstellt wird:

       LOG_CONS       schreibt   direkt   auf  die  Systemkonsole,  falls  ein  Fehler  beim  Schreiben  an  die
                      Systemprotokollierung auftritt.

       LOG_NDELAY     öffnet die Verbindung sofort (normalerweise wird die Verbindung geöffnet, wenn  die  erste
                      Nachricht  protokolliert  wird).  Dies  kann  zum  Beispiel nützlich sein, falls durch ein
                      nachfolgendes  chroot(2)  die  intern  von  der   Protokollierungseinrichtung   verwandten
                      Pfadnamen unerreichbar werden würden.

       LOG_NOWAIT     wartet  nicht auf Kindprozesse, welche eventuell beim Protokollieren der Nachricht erzeugt
                      wurden. (Die GNU-C-Bibliothek erzeugt keine Kindprozesse, insofern hat diese Option  keine
                      Auswirkung unter Linux.)

       LOG_ODELAY     das  Gegenteil  von LOG_NDELAY; das Öffnen der Verbindung wird bis zum Aufruf von syslog()
                      verzögert. (Das ist das Standardverhalten und muss nicht angegeben werden.)

       LOG_PERROR     (nicht in POSIX.1-2001 oder POSIX.1-2008) die Nachricht auch nach stderr protokollieren.

       LOG_PID        füge die PID des Aufrufenden in jede Nachricht ein.

   Werte für facility
       Der Parameter facility wird benutzt, um  anzugeben,  welcher  Programmtyp  die  Nachricht  protokolliert.
       Dadurch   kann   mit   der   Konfigurationsdatei   syslog.conf  erreicht  werden,  dass  Nachrichten  von
       unterschiedlichen Einrichtungen auch unterschiedlich behandelt werden.

       LOG_AUTH       Sicherheits-/Autorisations-Nachrichten

       LOG_AUTHPRIV   Sicherheits-/Autorisations-Nachrichten (privat)

       LOG_CRON       Uhr-Daemon (cron und at)

       LOG_DAEMON     System-Daemonen ohne spezielle Einrichtungswerte

       LOG_FTP        FTP-Daemon

       LOG_KERN       Kernel-Nachrichten (diese können nicht von Benutzerprozessen erzeugt werden)

       LOG_LOCAL0 bis LOG_LOCAL7
                      reserviert für den lokalen Gebrauch

       LOG_LPR        Zeilendrucker-Untersystem

       LOG_MAIL       Mail-Subsystem

       LOG_NEWS       Usenet Nachrichten-Untersystem

       LOG_SYSLOG     Nachrichten, die intern vom syslogd(8) erzeugt wurden

       LOG_USER (Standardwert)
                      generische Nachrichten auf Anwenderebene

       LOG_UUCP       UUCP-Subsystem

   Werte für level
       Dieser Parameter gibt  die  Dringlichkeitsstufe  der  Nachricht  an.  Die  Stufen  sind  in  absteigender
       Wichtigkeit:

       LOG_EMERG      Das System ist unbrauchbar.

       LOG_ALERT      Es muss sofort gehandelt werden.

       LOG_CRIT       kritische Bedingungen

       LOG_ERR        Fehlerbedingungen

       LOG_WARNING    Warnungsbedingungen

       LOG_NOTICE     normale, aber bedeutende Bedingung

       LOG_INFO       Information

       LOG_DEBUG      Debuginformation

       Die  Funktion  setlogmask(3)  kann  dazu  benutzt  werden,  um  das  Protokollieren  auf  bestimmte Level
       einzuschränken.

ATTRIBUTE

       Siehe attributes(7) für eine Erläuterung der in diesem Abschnitt verwandten Ausdrücke.
       ┌───────────────────────┬───────────────────────┬────────────────────┐
       │ SchnittstelleAttributWert               │
       ├───────────────────────┼───────────────────────┼────────────────────┤
       │ openlog(), closelog() │ Multithread-Fähigkeit │ MT-Safe            │
       ├───────────────────────┼───────────────────────┼────────────────────┤
       │ syslog(), vsyslog()   │ Multithread-Fähigkeit │ MT-Safe env locale │
       └───────────────────────┴───────────────────────┴────────────────────┘

KONFORM ZU

       Die Funktionen openlog(), closelog() und syslog() (aber nicht vsyslog()) sind in SUSv2, POSIX.1-2001, and
       POSIX.1-2008 spezifiert.

       POSIX.1-2001 spezifiert nur die Werte LOG_USER und LOG_LOCAL* für facility. Auf den meisten UNIX Systemen
       gibt es jedoch auch die anderen facility-Optionen mit der Ausnahme von LOG_AUTHPRIV und LOG_FTP.

       Der Wert LOG_PERROR für den Parameter option ist in POSIX.1-2001 oder POSIX.1-2008 nicht spezifiert, aber
       auf den meisten UNIX-Versionen verfügbar.

ANMERKUNGEN

       Das Argument ident im Aufruf von  openlog()  wird  wahrscheinlich  unverändert  gespeichert.  Falls  sich
       demnach  die  Zeichenkette,  auf die sich ident bezieht, ändert, kann syslog() die geänderte Zeichenkette
       voranstellen. Falls die Zeichenkette nicht mehr gefunden  werden  kann,  ergibt  dies  ein  undefiniertes
       Ergebnis. Die portabelste Lösung ist die Verwendung einer konstanten Zeichenkette.

       Übergeben  Sie  niemals  eine  Zeichenkette,  die Daten von Benutzeriengaben enthält, als Format, sondern
       benutzen Sie das Folgende:

           syslog(priority, "%s", string);

SIEHE AUCH

       journalctl(1), logger(1), setlogmask(3), syslog.conf(5), syslogd(8)

KOLOPHON

       Diese Seite ist Teil der Veröffentlichung  5.10  des  Projekts  Linux-man-pages.  Eine  Beschreibung  des
       Projekts, Informationen, wie Fehler gemeldet werden können sowie die aktuelle Version dieser Seite finden
       sich unter https://www.kernel.org/doc/man-pages/.

ÜBERSETZUNG

       Die  deutsche  Übersetzung  dieser  Handbuchseite  wurde von Gerd Koenig <koenig.bodensee@googlemail.com>
       erstellt.

       Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder  neuer
       bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.

       Wenn  Sie  Fehler  in  der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die
       Mailingliste der Übersetzer.

Linux                                          15. September 2017                                      SYSLOG(3)