# `syslog` — Unix syslog library routines

Цей модуль забезпечує інтерфейс для процедур бібліотеки `syslog` Unix. Зверніться до довідкових сторінок Unix для детального опису засобу `syslog`.

Availability: 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`.

Модуль визначає такі функції:

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

  Надішліть рядок повідомлення системному реєстратору. За необхідності додається символ нового рядка. Кожне повідомлення позначено тегом пріоритету, що складається з засобу та рівня. Додатковий аргумент priority, який за замовчуванням має значення `LOG_INFO`, визначає пріоритет повідомлення. Якщо засіб не закодовано в пріоритеті за допомогою логічного або (`LOG_INFO | LOG_USER`), використовується значення, указане у виклику `openlog()`.

  If `openlog()` has not been called prior to the call to `syslog()`, `openlog()` will be called with no arguments.

  Викликає подію аудиту `syslog.syslog` з аргументами `priority`, `message`.

  Змінено в версії 3.2: In previous versions, `openlog()` would not be called automatically if it wasn’t called prior to the call to `syslog()`, deferring to the syslog implementation to call `openlog()`.

  Змінено в версії 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]]])

  Параметри журналювання наступних викликів `syslog()` можна встановити за допомогою виклику `openlog()`. `syslog()` викличе `openlog()` без аргументів, якщо журнал наразі не відкритий.

  Необов’язковий аргумент ключового слова ident — це рядок, який додається до кожного повідомлення та за замовчуванням має значення `sys.argv[0]` з видаленими компонентами початкового шляху. Додатковий аргумент ключового слова logoption (за замовчуванням 0) є бітовим полем. Нижче наведено можливі значення для об’єднання. Необов’язковий аргумент ключового слова facility (за замовчуванням: `LOG_USER`) встановлює функцію за замовчуванням для повідомлень, які не мають явно закодованої можливості.

  Викликає подію аудиту `syslog.openlog` з аргументами `ident`, `logoption`, `facility`.

  Змінено в версії 3.2: In previous versions, keyword arguments were not allowed, and ident was required.

  Змінено в версії 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()

  Скиньте значення модуля syslog і викличте системну бібліотеку `closelog()`.

  Це змушує модуль поводитись так само, як і під час початкового імпорту. Наприклад, `openlog()` буде викликано під час першого виклику `syslog()` (якщо `openlog()` ще не було викликано), а ident та інші `openlog()` параметри скидаються до значень за замовчуванням.

  Викликає подію аудиту `syslog.closelog` без аргументів.

  Змінено в версії 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)

  Встановіть маску пріоритету на maskpri та поверніть попереднє значення маски. Виклики до `syslog()` з рівнем пріоритету, не встановленим у maskpri, ігноруються. За умовчанням реєструються всі пріоритети. Функція `LOG_MASK(pri)` обчислює маску для індивідуального пріоритету pri. Функція `LOG_UPTO(pri)` обчислює маску для всіх пріоритетів до pri включно.

  Викликає подію аудиту `syslog.setlogmask` з аргументом `maskpri`.

Модуль визначає такі константи:

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

  Priority levels (high to low).

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

  Змінено в версії 3.13: Added `LOG_FTP`, `LOG_NETINFO`, `LOG_REMOTEAUTH`, `LOG_INSTALL`, `LOG_RAS`, and `LOG_LAUNCHD`.

syslog.LOG_PID
syslog.LOG_CONS
syslog.LOG_NDELAY
syslog.LOG_ODELAY
syslog.LOG_NOWAIT
syslog.LOG_PERROR

  Log options, depending on availability in `<syslog.h>` for `LOG_ODELAY`, `LOG_NOWAIT` and `LOG_PERROR`.

## Приклади

### Простий приклад

Простий набір прикладів:

    import syslog

    syslog.syslog('Processing started')
    if error:
        syslog.syslog(syslog.LOG_ERR, 'Processing started')

Приклад налаштування деяких параметрів журналу, які включатимуть ідентифікатор процесу в зареєстрованих повідомленнях і запис повідомлень до засобу призначення, який використовується для журналювання пошти:

    syslog.openlog(logoption=syslog.LOG_PID, facility=syslog.LOG_MAIL)
    syslog.syslog('E-mail processing initiated...')