Provided by: manpages-de-dev_4.21.0-2_all bug

BEZEICHNUNG

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

BIBLIOTHEK

       Standard-C-Bibliothek (libc, -lc)

ÜBERSICHT

       #include <syslog.h>

       void openlog(const char *ident, int option, int einrichtung);
       void syslog(int priorität, const char *format, …);
       void closelog(void);

       void vsyslog(int priorität, const char *format, va_list ap);

   Mit Glibc erforderliche Feature-Test-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  einrichtung-Parameter  definiert  einen
       Standardwert,  welcher  benutzt  wird,  falls  in darauffolgenden syslog()-Aufrufen nichts
       spezifiziert wurde. Die Werte, die für option und  einrichtung  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 priorität ist das Ergebnis einer ODER-Verknüpfung  eines  Werts  einrichtung
       und  eines  Werts  level  (weiter  unten  beschrieben).  Falls  kein  Wert einrichtung mit
       priorität  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 einrichtung
       Der  Parameter  einrichtung  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 │
       └────────────────────────────────────────────┴───────────────────────┴────────────────────┘

STANDARDS

       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 einrichtung. Auf den
       meisten UNIX-Systemen gibt  es  jedoch  auch  die  anderen  einrichtung-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)

ÜBERSETZUNG

       Die    deutsche    Übersetzung    dieser    Handbuchseite    wurde    von    Gerd   Koenig
       <koenig.bodensee@googlemail.com>  und  Mario  Blättermann   <mario.blaettermann@gmail.com>
       erstellt.

       Diese  Übersetzung  ist  Freie  Dokumentation;  lesen  Sie  die GNU General Public License
       Version 3 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ 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 ⟨debian-l10n-german@lists.debian.org⟩.