# `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 Emscripten, not WASI.

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:

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