Spec-Zone.ru › Python 3.12

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

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

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

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

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

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

Отправляет строку message системному средству ведения журнала. При необходимости в конец добавляется символ новой строки. Каждому сообщению назначается приоритет, состоящий из категории и уровня. Необязательный аргумент 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.

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

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

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.

Примеры

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

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

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–2024 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.12/library/syslog.html

Spec-Zone.ru

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