Spec-Zone.ru › Python 3.13

syslog — процедуры библиотеки syslog Unix

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

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

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

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

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

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

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

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

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

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

В результате модуль возвращается к поведению, которое наблюдается сразу после его импорта. Например, при первом вызове syslog() будет вызвана функция openlog() (если 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

Средства; доступность LOG_AUTHPRIV, LOG_FTP, LOG_NETINFO, LOG_REMOTEAUTH, LOG_INSTALL и LOG_RAS зависит от наличия в <syslog.h>.

Изменено в версии 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

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

Примеры

Простой пример

Несколько простых примеров:

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...')

© 2001–2025 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.13/library/syslog.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API