syslog
— Rutiner för syslog-bibliotek i Unix¶
Denna modul ger ett gränssnitt till Unix syslog
biblioteksrutiner. Se Unix manualsidor för en detaljerad beskrivning av syslog
-funktionen.
Tillgänglighet: Unix, not WASI, not iOS.
Denna modul omsluter systemets syslog
familj av rutiner. Ett rent Python-bibliotek som kan tala med en syslog-server finns tillgängligt i modulen logging.handlers
som SysLogHandler
.
Modulen definierar följande funktioner:
- syslog.syslog(message)¶
- syslog.syslog(priority, message)
Skicka strängen message till systemloggaren. En efterföljande ny rad läggs till om det behövs. Varje meddelande märks med en prioritet som består av en facility och en level. Det valfria argumentet priority, som har
LOG_INFO
som standard, bestämmer meddelandets prioritet. Om faciliteten inte kodas i priority med hjälp av logical-or (LOG_INFO | LOG_USER
), används det värde som anges iopenlog()
-anropet.Om
openlog()
inte har anropats före anropet tillsyslog()
, kommeropenlog()
att anropas utan argument.Utlöser en auditing event
syslog.syslog
med argumentenpriority
,message
.Ändrad i version 3.2: I tidigare versioner anropades inte
openlog()
automatiskt om den inte anropades före anropet tillsyslog()
, utan det var upp till syslog-implementationen att anropaopenlog()
.Ändrad i version 3.12: Denna funktion är begränsad i undertolkar. (Endast kod som körs i flera tolkar påverkas och begränsningen är inte relevant för de flesta användare)
openlog()
måste anropas i huvudtolken innansyslog()
kan användas i en undertolk. Annars kommer det att ge upphov tillRuntimeError
.
- syslog.openlog([ident[, logoption[, facility]]])¶
Loggningsalternativ för efterföljande
syslog()
-anrop kan ställas in genom att anropaopenlog()
.syslog()
anroparopenlog()
utan argument om loggen inte är öppen för tillfället.Det valfria nyckelordsargumentet ident är en sträng som läggs till i varje meddelande och som standard är
sys.argv[0]
utan inledande sökvägskomponenter. Det valfria nyckelordsargumentet logoption (standard är 0) är ett bitfält - se nedan för möjliga värden att kombinera. Det valfria nyckelordsargumentet facility (standard ärLOG_USER
) anger standardfaciliteten för meddelanden som inte har en facilitet explicit kodad.Utlöser en auditing event
syslog.openlog
med argumentenident
,logoption
,facility
.Ändrad i version 3.2: I tidigare versioner var nyckelordsargument inte tillåtna och ident var ett krav.
Ändrad i version 3.12: Denna funktion är begränsad i undertolkar. (Endast kod som körs i flera tolkar påverkas och begränsningen är inte relevant för de flesta användare) Denna funktion kan endast anropas i huvudtolken. Den kommer att ge upphov till
RuntimeError
om den anropas i en undertolk.
- syslog.closelog()¶
Återställ värdena för syslog-modulen och anropa systembiblioteket
closelog()
.Detta gör att modulen beter sig som den gör när den importeras första gången. Till exempel kommer
openlog()
att anropas vid det förstasyslog()
-anropet (omopenlog()
inte redan har anropats), och ident och andraopenlog()
-parametrar återställs till standardvärdena.Utlöser en auditing event
syslog.closelog
utan argument.Ändrad i version 3.12: Denna funktion är begränsad i undertolkar. (Endast kod som körs i flera tolkar påverkas och begränsningen är inte relevant för de flesta användare) Denna funktion kan endast anropas i huvudtolken. Den kommer att ge upphov till
RuntimeError
om den anropas i en undertolk.
- syslog.setlogmask(maskpri)¶
Ställer in prioritetsmasken till maskpri och returnerar det tidigare maskvärdet. Anrop till
syslog()
med en prioritetsnivå som inte anges i maskpri ignoreras. Standardinställningen är att logga alla prioriteringar. FunktionenLOG_MASK(pri)
beräknar masken för den individuella prioriteten pri. FunktionenLOG_UPTO(pri)
beräknar masken för alla prioriteringar upp till och med pri.Utlöser en auditing event
syslog.setlogmask
med argumentetmaskpri
.
Modulen definierar följande konstanter:
- syslog.LOG_EMERG¶
- syslog.LOG_ALERT¶
- syslog.LOG_CRIT¶
- syslog.LOG_ERR¶
- syslog.LOG_WARNING¶
- syslog.LOG_NOTICE¶
- syslog.LOG_INFO¶
- syslog.LOG_DEBUG¶
Prioriteringsnivåer (hög till låg).
- 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¶
Funktioner, beroende på tillgänglighet i
<syslog.h>
förLOG_AUTHPRIV
,LOG_FTP
,LOG_NETINFO
,LOG_REMOTEAUTH
,LOG_INSTALL
ochLOG_RAS
.Ändrad i version 3.13: Lagt till
LOG_FTP
,LOG_NETINFO
,LOG_REMOTEAUTH
,LOG_INSTALL
,LOG_RAS
ochLOG_LAUNCHD
.
- syslog.LOG_PID¶
- syslog.LOG_CONS¶
- syslog.LOG_NDELAY¶
- syslog.LOG_ODELAY¶
- syslog.LOG_NOWAIT¶
- syslog.LOG_PERROR¶
Loggalternativ, beroende på tillgänglighet i
<syslog.h>
förLOG_ODELAY
,LOG_NOWAIT
ochLOG_PERROR
.
Exempel¶
Enkelt exempel¶
En enkel uppsättning exempel:
import syslog
syslog.syslog('Processing started')
if error:
syslog.syslog(syslog.LOG_ERR, 'Processing started')
Ett exempel på inställning av några loggningsalternativ, dessa skulle inkludera process-ID i loggade meddelanden och skriva meddelandena till den destinationsfacilitet som används för e-postloggning:
syslog.openlog(logoption=syslog.LOG_PID, facility=syslog.LOG_MAIL)
syslog.syslog("E-postbehandling påbörjad...")