syslog — Unix syslog library routines


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

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.

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. The default for ident was dependent on the system libraries, and often was python instead of the name of the Python program file.

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