syslog — Unix-syslog-Bibliotheksroutinen¶
Dieses Modul bietet eine Schnittstelle zu den Unix syslog-Bibliotheksroutinen. Für eine detaillierte Beschreibung der syslog-Einrichtung konsultieren Sie die Unix-Handbuchseiten.
Verfügbarkeit: Unix, nicht WASI, nicht iOS.
Dieses Modul wrappt die System-Routinefamilie syslog. Eine reine Python-Bibliothek, die mit einem Syslog-Server kommunizieren kann, ist im Modul logging.handlers als SysLogHandler verfügbar.
Das Modul definiert die folgenden Funktionen
- syslog.syslog(message)¶
- syslog.syslog(priority, message)
Sendet den String message an den Systemlogger. Ein abschließendes Newline wird bei Bedarf hinzugefügt. Jede Nachricht wird mit einer Priorität versehen, die sich aus einer facility und einem level zusammensetzt. Das optionale Argument priority, das standardmäßig auf
LOG_INFOgesetzt ist, bestimmt die Priorität der Nachricht. Wenn die Facility nicht in priority mittels logischem ODER (LOG_INFO | LOG_USER) kodiert ist, wird der Wert aus dem Aufruf vonopenlog()verwendet.Wenn
openlog()nicht vor dem Aufruf vonsyslog()aufgerufen wurde, wirdopenlog()ohne Argumente aufgerufen.Löst ein Auditing-Ereignis
syslog.syslogmit den Argumentenpriority,messageaus.Geändert in Version 3.2: In früheren Versionen wurde
openlog()nicht automatisch aufgerufen, wenn es vor dem Aufruf vonsyslog()nicht aufgerufen wurde, und überließ es der Syslog-Implementierung,openlog()aufzurufen.Geändert in Version 3.12: Diese Funktion ist in Subinterpretern eingeschränkt. (Nur Code, der in mehreren Interpretern ausgeführt wird, ist betroffen, und die Einschränkung ist für die meisten Benutzer nicht relevant.)
openlog()muss im Hauptinterpreter aufgerufen werden, bevorsyslog()in einem Subinterpreter verwendet werden darf. Andernfalls wirdRuntimeErrorausgelöst.
- syslog.openlog([ident[, logoption[, facility]]])¶
Die Protokollierungsoptionen für nachfolgende Aufrufe von
syslog()können durch Aufruf vonopenlog()gesetzt werden.syslog()ruftopenlog()ohne Argumente auf, wenn das Log nicht geöffnet ist.Das optionale Schlüsselwortargument ident ist ein String, der jeder Nachricht vorangestellt wird und standardmäßig auf
sys.argv[0]gesetzt ist, wobei führende Pfadkomponenten entfernt werden. Das optionale Schlüsselwortargument logoption (standardmäßig 0) ist ein Bitfeld – siehe unten für mögliche Werte, die kombiniert werden können. Das optionale Schlüsselwortargument facility (standardmäßigLOG_USER) legt die Standard-Facility für Nachrichten fest, die keine explizit kodierte Facility haben.Löst ein Auditing-Ereignis
syslog.openlogmit den Argumentenident,logoption,facilityaus.Geändert in Version 3.2: In früheren Versionen waren Schlüsselwortargumente nicht erlaubt und ident war erforderlich.
Geändert in Version 3.12: Diese Funktion ist in Subinterpretern eingeschränkt. (Nur Code, der in mehreren Interpretern ausgeführt wird, ist betroffen, und die Einschränkung ist für die meisten Benutzer nicht relevant.) Diese Funktion darf nur im Hauptinterpreter aufgerufen werden. Wenn sie in einem Subinterpreter aufgerufen wird, löst sie
RuntimeErroraus.
- syslog.closelog()¶
Setzt die Werte des syslog-Moduls zurück und ruft die Systembibliotheksfunktion
closelog()auf.Dadurch verhält sich das Modul so, wie es sich beim erstmaligen Import verhält. Beispielsweise wird
openlog()beim ersten Aufruf vonsyslog()aufgerufen (wennopenlog()noch nicht aufgerufen wurde), und ident sowie andere Parameter vonopenlog()werden auf die Standardwerte zurückgesetzt.Löst ein Auditing-Ereignis
syslog.closelogohne Argumente aus.Geändert in Version 3.12: Diese Funktion ist in Subinterpretern eingeschränkt. (Nur Code, der in mehreren Interpretern ausgeführt wird, ist betroffen, und die Einschränkung ist für die meisten Benutzer nicht relevant.) Diese Funktion darf nur im Hauptinterpreter aufgerufen werden. Wenn sie in einem Subinterpreter aufgerufen wird, löst sie
RuntimeErroraus.
- syslog.setlogmask(maskpri)¶
Setzt die Prioritätsmaske auf maskpri und gibt den vorherigen Maskenwert zurück. Aufrufe von
syslog()mit einer Prioritätsstufe, die nicht in maskpri gesetzt ist, werden ignoriert. Standardmäßig werden alle Prioritäten protokolliert. Die FunktionLOG_MASK(pri)berechnet die Maske für die einzelne Priorität pri. Die FunktionLOG_UPTO(pri)berechnet die Maske für alle Prioritäten bis einschließlich pri.Löst ein Auditing-Ereignis
syslog.setlogmaskmit dem Argumentmaskpriaus.
Das Modul definiert die folgenden Konstanten
- syslog.LOG_EMERG¶
- syslog.LOG_ALERT¶
- syslog.LOG_CRIT¶
- syslog.LOG_ERR¶
- syslog.LOG_WARNING¶
- syslog.LOG_NOTICE¶
- syslog.LOG_INFO¶
- syslog.LOG_DEBUG¶
Prioritätsstufen (von hoch nach niedrig).
- syslog.LOG_AUTH¶
- syslog.LOG_AUTHPRIV¶
- syslog.LOG_CRON¶
- syslog.LOG_DAEMON¶
- syslog.LOG_FTP¶
- syslog.LOG_INSTALL¶
- syslog.LOG_KERN¶
- syslog.LOG_LAUNCHD¶
- syslog.LOG_LPR¶
- syslog.LOG_MAIL¶
- syslog.LOG_NETINFO¶
- syslog.LOG_NEWS¶
- syslog.LOG_RAS¶
- syslog.LOG_REMOTEAUTH¶
- syslog.LOG_SYSLOG¶
- syslog.LOG_USER¶
- syslog.LOG_UUCP¶
- syslog.LOG_LOCAL0¶
- syslog.LOG_LOCAL1¶
- syslog.LOG_LOCAL2¶
- syslog.LOG_LOCAL3¶
- syslog.LOG_LOCAL4¶
- syslog.LOG_LOCAL5¶
- syslog.LOG_LOCAL6¶
- syslog.LOG_LOCAL7¶
Facilities, je nach Verfügbarkeit in
<syslog.h>fürLOG_AUTHPRIV,LOG_FTP,LOG_NETINFO,LOG_REMOTEAUTH,LOG_INSTALLundLOG_RAS.Geändert in Version 3.13: Hinzugefügt wurden
LOG_FTP,LOG_NETINFO,LOG_REMOTEAUTH,LOG_INSTALL,LOG_RASundLOG_LAUNCHD.
- syslog.LOG_PID¶
- syslog.LOG_CONS¶
- syslog.LOG_NDELAY¶
- syslog.LOG_ODELAY¶
- syslog.LOG_NOWAIT¶
- syslog.LOG_PERROR¶
Log-Optionen, je nach Verfügbarkeit in
<syslog.h>fürLOG_ODELAY,LOG_NOWAITundLOG_PERROR.
Beispiele¶
Einfaches Beispiel¶
Eine einfache Sammlung von Beispielen
import syslog
syslog.syslog('Processing started')
if error:
syslog.syslog(syslog.LOG_ERR, 'Processing started')
Ein Beispiel für die Einstellung einiger Log-Optionen. Diese würden die Prozess-ID in die protokollierten Nachrichten aufnehmen und die Nachrichten an die für die Mail-Protokollierung verwendete Ziel-Facility schreiben.
syslog.openlog(logoption=syslog.LOG_PID, facility=syslog.LOG_MAIL)
syslog.syslog('E-mail processing initiated...')