Provided by: manpages-de-dev_4.27.0-1_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-Sicher            │
       ├────────────────────────────────────────────────────────┼───────────────────────┼──────────────────────┤
       │ syslog(), vsyslog()                                    │ Multithread-Fähigkeit │ MT-Sicher env locale │
       └────────────────────────────────────────────────────────┴───────────────────────┴──────────────────────┘

STANDARDS

       syslog()
       openlog()
       closelog()
              POSIX.1-2008.

       vsyslog()
              Keine.

GESCHICHTE

       syslog()
              4.2BSD, SUSv2, POSIX.1-2001.

       openlog()
       closelog()
              4.3BSD, SUSv2, POSIX.1-2001.

       vsyslog()
              4.3BSD-Reno.

       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 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.

Linux man-pages 6.9.1                              2. Mai 2024                                         syslog(3)