Содержание страницы
34.13. syslog – библиотечные процедуры syslog в Unix¶syslog – 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...')