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

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.
┌──────────────────────────────────────────────────────────┬───────────────────────┬────────────────────┐
│ Schnittstelle │ Attribut │ Wert │
├──────────────────────────────────────────────────────────┼───────────────────────┼────────────────────┤
│ 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-Sy‐
stemen 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 dem‐
nach die Zeichenkette, auf die sich ident bezieht, ändert, kann syslog() die geänderte Zeichenkette vor‐
anstellen. Falls die Zeichenkette nicht mehr gefunden werden kann, ergibt dies ein undefiniertes Ergeb‐
nis. Die portabelste Lösung ist die Verwendung einer konstanten Zeichenkette.
Übergeben Sie niemals eine Zeichenkette, die Daten von Benutzeriengaben enthält, als Format, sondern be‐
nutzen 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.
Linux man-pages 6.03 5. Februar 2023 syslog(3)