Документация Python неофициальный перевод
Содержание страницы

34.13. syslog – библиотечные процедуры syslog в Unixsyslog – Unix syslog library routines

Этот модуль предоставляет интерфейс к библиотечным функциям Unix syslog. За подробным описанием службы syslog обращайтесь к справочным страницам Unix.

Этот модуль является обёрткой для семейства системных функций syslog. В модуле logging.handlers доступна чистая библиотека Python, которая может взаимодействовать с сервером syslog, под именем SysLogHandler.

Модуль определяет следующие функции:

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

Отправляет строку message системному журналу. При необходимости добавляется завершающий символ новой строки. Каждое сообщение помечается приоритетом, состоящим из службы и уровня. Необязательный аргумент priority, по умолчанию равный LOG_INFO, определяет приоритет сообщения. Если служба не закодирована в priority с помощью логического ИЛИ (LOG_INFO | LOG_USER), используется значение, заданное в вызове openlog().

Если openlog() не вызывался до вызова syslog(), openlog() будет вызван без аргументов.

syslog.openlog([ident[, logoption[, facility]]])

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

Необязательный именованный аргумент ident – это строка, которая добавляется к каждому сообщению, и по умолчанию равна sys.argv[0] с удалёнными ведущими компонентами пути. Необязательный именованный аргумент logoption (по умолчанию 0) – это битовое поле – возможные значения для комбинирования см. ниже. Необязательный именованный аргумент службы (по умолчанию LOG_USER) задаёт службу по умолчанию для сообщений, в которых служба явно не закодирована.

Изменено в версии 3.2: В предыдущих версиях именованные аргументы не допускались, и ident был обязателен. Значение по умолчанию для ident зависело от системных библиотек, и часто было python вместо имени файла программы Python.

syslog.closelog()

Сбрасывает значения модуля syslog и вызывает системную библиотечную функцию closelog().

Из-за этого модуль ведёт себя так же, как при первоначальном импорте. Например, openlog() будет вызван при первом вызове syslog() (если openlog() ещё не был вызван), а ident и другие параметры openlog() сбрасываются в значения по умолчанию.

syslog.setlogmask(maskpri)

Устанавливает маску приоритетов равной maskpri и возвращает предыдущее значение маски. Вызовы syslog() с уровнем приоритета, не установленным в maskpri, игнорируются. По умолчанию журналируются все приоритеты. Функция LOG_MASK(pri) вычисляет маску для отдельного приоритета pri. Функция LOG_UPTO(pri) вычисляет маску для всех приоритетов до pri включительно.

Модуль определяет следующие константы:

Уровни приоритета (от высокого к низкому):
LOG_EMERG, LOG_ALERT, LOG_CRIT, LOG_ERR, LOG_WARNING, LOG_NOTICE, LOG_INFO, LOG_DEBUG.
Службы:
LOG_KERN, LOG_USER, LOG_MAIL, LOG_DAEMON, LOG_AUTH, LOG_LPR, LOG_NEWS, LOG_UUCP, LOG_CRON, LOG_SYSLOG, с LOG_LOCAL0 до LOG_LOCAL7, и, если определено в <syslog.h>, LOG_AUTHPRIV.
Опции журналирования:
LOG_PID, LOG_CONS, LOG_NDELAY, и, если определено в <syslog.h>, LOG_ODELAY, LOG_NOWAIT, и LOG_PERROR.

34.13.1. ПримерыExamples

34.13.1.1. Простой примерSimple example

Простой набор примеров:

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