syslog — Unix syslog library routines


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.

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

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.

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.

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:

Priority levels (high to low):

LOG_EMERG, LOG_ALERT, LOG_CRIT, LOG_ERR, LOG_WARNING, LOG_NOTICE, LOG_INFO, LOG_DEBUG.

Facilities:

LOG_KERN, LOG_USER, LOG_MAIL, LOG_DAEMON, LOG_AUTH, LOG_LPR, LOG_NEWS, LOG_UUCP, LOG_CRON, LOG_SYSLOG, LOG_LOCAL0 to LOG_LOCAL7, and, if defined in <syslog.h>, LOG_AUTHPRIV.

Log options:

LOG_PID, LOG_CONS, LOG_NDELAY, and, if defined in <syslog.h>, LOG_ODELAY, LOG_NOWAIT, and 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...')