# `syslog` — Unix syslog library routines

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

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

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

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

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.

syslog.closelog()

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

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

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

syslog.setlogmask(maskpri)

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

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

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

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

## Приклади

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

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

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