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

syslog – библиотечные функции syslog Unixsyslog – Unix syslog library routines


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

Доступность: Unix, не WASI, не iOS.

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

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

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

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

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

Возбуждает событие аудита syslog.syslog с аргументами priority, message.

Изменено в версии 3.2: В предыдущих версиях openlog() не вызывался автоматически, если он не был вызван до вызова syslog(), и вызов openlog() перекладывался на реализацию syslog.

Изменено в версии 3.12: Эта функция ограничена в подынтерпретаторах. (Это затрагивает только код, который выполняется в нескольких интерпретаторах, и это ограничение не актуально для большинства пользователей.) openlog() должен быть вызван в главном интерпретаторе, прежде чем syslog() сможет использоваться в подынтерпретаторе. В противном случае будет возбуждено исключение 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: В предыдущих версиях именованные аргументы не допускались, а ident был обязательным.

Изменено в версии 3.12: Эта функция ограничена в подынтерпретаторах. (Это затрагивает только код, который выполняется в нескольких интерпретаторах, и это ограничение не актуально для большинства пользователей.) Вызов разрешён только в главном интерпретаторе. При вызове в подынтерпретаторе будет возбуждено исключение RuntimeError.

syslog.closelog()

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

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

Возбуждает событие аудита syslog.closelog без аргументов.

Изменено в версии 3.12: Эта функция ограничена в подынтерпретаторах. (Это затрагивает только код, который выполняется в нескольких интерпретаторах, и это ограничение не актуально для большинства пользователей.) Вызов разрешён только в главном интерпретаторе. При вызове в подынтерпретаторе будет возбуждено исключение RuntimeError.

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

Уровни приоритетов (от высокого к низкому).

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

Источники, в зависимости от доступности в <syslog.h> для LOG_AUTHPRIV, LOG_FTP, LOG_NETINFO, LOG_REMOTEAUTH, LOG_INSTALL и LOG_RAS.

Изменено в версии 3.13: Добавлены LOG_FTP, LOG_NETINFO, LOG_REMOTEAUTH, LOG_INSTALL, LOG_RAS и LOG_LAUNCHD.

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

Параметры ведения журнала, в зависимости от доступности в <syslog.h> для LOG_ODELAY, LOG_NOWAIT и LOG_PERROR.

ПримерыExamples

Простой пример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...')