syslog — Rutiner för syslog-bibliotek i Unix


This module provides an interface to the Unix syslog library routines. Refer to the Unix manual pages for a detailed description of the syslog facility.

Tillgänglighet: Unix, not WASI, not iOS.

This module wraps the system syslog family of routines. A pure Python library that can speak to a syslog server is available in the logging.handlers module as SysLogHandler.

Modulen definierar följande funktioner:

syslog.syslog(message)
syslog.syslog(priority, message)

Send the string message to the system logger. A trailing newline is added if necessary. Each message is tagged with a priority composed of a facility and a level. The optional priority argument, which defaults to LOG_INFO, determines the message priority. If the facility is not encoded in priority using logical-or (LOG_INFO | LOG_USER), the value given in the openlog() call is used.

Om openlog() inte har anropats före anropet till syslog(), kommer openlog() att anropas utan argument.

Utlöser en auditing event syslog.syslog med argumenten priority, message.

Förändrat i version 3.2: I tidigare versioner anropades inte openlog() automatiskt om den inte anropades före anropet till syslog(), utan det var upp till syslog-implementationen att anropa openlog().

Förändrat i version 3.12: This function is restricted in subinterpreters. (Only code that runs in multiple interpreters is affected and the restriction is not relevant for most users.) openlog() must be called in the main interpreter before syslog() may be used in a subinterpreter. Otherwise it will raise RuntimeError.

syslog.openlog([ident[, logoption[, facility]]])

Logging options of subsequent syslog() calls can be set by calling openlog(). syslog() will call openlog() with no arguments if the log is not currently open.

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 är LOG_USER) anger standardfaciliteten för meddelanden som inte har en facilitet explicit kodad.

Utlöser en auditing event syslog.openlog med argumenten ident, logoption, facility.

Förändrat i version 3.2: I tidigare versioner var nyckelordsargument inte tillåtna och ident var ett krav.

Förändrat i version 3.12: This function is restricted in subinterpreters. (Only code that runs in multiple interpreters is affected and the restriction is not relevant for most users.) This may only be called in the main interpreter. It will raise RuntimeError if called in a subinterpreter.

syslog.closelog()

Återställ värdena för syslog-modulen och anropa systembiblioteket closelog().

This causes the module to behave as it does when initially imported. For example, openlog() will be called on the first syslog() call (if openlog() hasn’t already been called), and ident and other openlog() parameters are reset to defaults.

Utlöser en auditing event syslog.closelog utan argument.

Förändrat i version 3.12: This function is restricted in subinterpreters. (Only code that runs in multiple interpreters is affected and the restriction is not relevant for most users.) This may only be called in the main interpreter. It will raise RuntimeError if called in a subinterpreter.

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. Funktionen LOG_MASK(pri) beräknar masken för den individuella prioriteten pri. Funktionen LOG_UPTO(pri) beräknar masken för alla prioriteringar upp till och med pri.

Utlöser en auditing event syslog.setlogmask med argumentet maskpri.

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

Facilities, depending on availability in <syslog.h> for LOG_AUTHPRIV, LOG_FTP, LOG_NETINFO, LOG_REMOTEAUTH, LOG_INSTALL and LOG_RAS.

Förändrat i version 3.13: Lagt till LOG_FTP, LOG_NETINFO, LOG_REMOTEAUTH, LOG_INSTALL, LOG_RAS och LOG_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ör LOG_ODELAY, LOG_NOWAIT och LOG_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-mail processing initiated...')