syslog — Библиотечные процедуры системного журнала Unix


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

Availability: Unix, не Emscripten, не БЫЛ I.

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

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

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

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

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

Создает auditing event syslog.syslog с аргументами priority, message.

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

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.

syslog.closelog()

Сбросьте значения модуля системного журнала и вызовите системную библиотеку closelog().

Это приводит к тому, что модуль ведет себя так же, как и при первоначальном импорте. Например, openlog() будет вызван при первом вызове syslog() (если openlog() еще не был вызван), а ident и другие параметры openlog() будут сброшены на значения по умолчанию.

Выдает auditing event syslog.closelog без каких-либо аргументов.

syslog.setlogmask(maskpri)

Установите для маски приоритета значение maskpri и верните предыдущее значение маски. Вызовы syslog() с уровнем приоритета, не заданным в maskpri, игнорируются. По умолчанию все приоритеты регистрируются. Функция LOG_MASK(pri) вычисляет маску для отдельного приоритета pri. Функция LOG_UPTO(pri) вычисляет маску для всех приоритетов вплоть до pri включительно.

Создает auditing event 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...')
Вернуться на верх