Содержание страницы
35.13. syslog – библиотечные процедуры syslog для Unix¶syslog – Unix syslog library routines
Этот модуль предоставляет интерфейс к библиотечным функциям Unix syslog.
Подробное описание средства syslog приведено на страницах руководства Unix.
Этот модуль является обёрткой для семейства системных функций 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.openlog(identident, logoptionlogoption, facilityfacility]]])¶ Параметры журналирования последующих вызовов
syslog()можно задать, вызвавopenlog().syslog()вызоветopenlog()без аргументов, если журнал в данный момент не открыт.Необязательный именованный аргумент ident – это строка, которая добавляется к каждому сообщению; по умолчанию используется
sys.argv[0]без начальных компонентов пути. Необязательный именованный аргумент logoption (по умолчанию 0) – битовое поле – возможные значения для комбинирования приведены ниже. Необязательный именованный аргумент facility (по умолчанию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.
35.13.1. Примеры¶Examples
35.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...')