# `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`.

  Ändrad 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()`.

  Ändrad 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`.

  Ändrad i version 3.2: I tidigare versioner var nyckelordsargument inte tillåtna och ident var ett krav.

  Ändrad 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.

  Ändrad 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`.

  Ändrad 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...')