syslog
— Подпрограммы библиотеки Unix syslog¶
Этот модуль предоставляет интерфейс к библиотечным процедурам Unix syslog
. Подробное описание средств syslog
см. на страницах руководства Unix.
Availability: Unix, не WASI, не iOS.
Этот модуль включает в себя семейство системных процедур syslog
. Чистая библиотека Python, которая может обращаться к серверу syslog, доступна в модуле logging.handlers
в виде SysLogHandler
.
Модуль определяет следующие функции:
- syslog.syslog(message)¶
- syslog.syslog(priority, message)
Отправьте строку сообщение в системный регистратор. При необходимости добавляется завершающая новая строка. Каждое сообщение помечается приоритетом, состоящим из facility и level. Необязательный аргумент priority, который по умолчанию равен
LOG_INFO
, определяет приоритет сообщения. Если объект не закодирован в priority с помощью логического-или (LOG_INFO | LOG_USER
), используется значение, заданное в вызовеopenlog()
.Если
openlog()
не был вызван до вызоваsyslog()
, тоopenlog()
будет вызван без аргументов.Поднимает auditing event
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
) задает объект по умолчанию для сообщений, в которых объект не закодирован явно.Поднимает auditing event
syslog.openlog
с аргументамиident
,logoption
,facility
.Изменено в версии 3.2: В предыдущих версиях аргументы в виде ключевых слов были недопустимы, и требовался ident.
Изменено в версии 3.12: Эта функция ограничена в субинтерпретаторах. (Это касается только кода, выполняющегося в нескольких интерпретаторах, и для большинства пользователей это ограничение не имеет значения). Эта функция может быть вызвана только в главном интерпретаторе. При вызове в подынтерпретаторе она вызовет ошибку
RuntimeError
.
- syslog.closelog()¶
Сбросьте значения модуля syslog и вызовите системную библиотеку
closelog()
.Это заставит модуль вести себя так, как он ведет себя при первоначальном импорте. Например,
openlog()
будет вызван при первом вызовеsyslog()
(еслиopenlog()
еще не был вызван), а ident и другие параметрыopenlog()
будут сброшены на значения по умолчанию.Поднимает auditing event
syslog.closelog
без аргументов.Изменено в версии 3.12: Эта функция ограничена в субинтерпретаторах. (Это касается только кода, выполняющегося в нескольких интерпретаторах, и для большинства пользователей это ограничение не имеет значения). Эта функция может быть вызвана только в главном интерпретаторе. При вызове в подынтерпретаторе она вызовет ошибку
RuntimeError
.
- syslog.setlogmask(maskpri)¶
Устанавливает маску приоритета в maskpri и возвращает предыдущее значение маски. Вызовы к
syslog()
с уровнем приоритета, не установленным в maskpri, игнорируются. По умолчанию все приоритеты регистрируются. ФункцияLOG_MASK(pri)
вычисляет маску для отдельного приоритета pri. ФункцияLOG_UPTO(pri)
вычисляет маску для всех приоритетов до pri включительно.Поднимает auditing event
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
.
Примеры¶
Простой пример¶
Простой набор примеров:
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...')