syslog — Подпрограммы библиотеки syslog Unix


Модуль обеспечивает интерфейс с подпрограммами библиотеки Unix syslog. Подробное описание средства syslog см. на страницах руководства Unix.

Модуль охватывает системное syslog семейство подпрограмм. Чистая библиотека Python, которая может взаимодействовать с сервером системного журнала, доступна в модуле logging.handlers как SysLogHandler.

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

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

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

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

Поднимает событие аудита 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: В предыдущих версиях ключевой аргументы не допускались, и требовалось ident. Значение по умолчанию для ident зависело от системных библиотек и часто python вместо имени Python файла программы.

syslog.closelog()

Сбросить значения модуля системного журнала и вызвать 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.

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

Приоритетные уровни (высокого к низкому):
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 to LOG_LOCAL7 и, если определено в <syslog.h>, LOG_AUTHPRIV.
Параметры журнала:
LOG_PID, LOG_CONS, LOG_NDELAY и, если определено в <syslog.h>, LOG_ODELAY, LOG_NOWAIT и 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...')