syslog
— Подпрограммы библиотеки syslog Unix¶
Данный модуль предоставляет интерфейс для подпрограмм библиотеки Unix
syslog
. Обратитесь к страницам руководства Unix за подробным описанием
средства syslog
.
Данный модуль охватывает семейство подпрограмм системы 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()
значение.Если
openlog()
не был вызван до вызоваsyslog()
,openlog()
будет вызван без аргументов.Вызывает событие аудита
syslog.syslog
с аргументамиpriority
,message
.
-
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. Значение по умолчанию для ident зависело от системных библиотек и часто было
python
вместо имени файла программы Python.
-
syslog.
closelog
()¶ Сбрасывает значения модуля syslog и вызывает системную библиотеку
closelog()
.Это приводит к тому, что модуль ведёт себя так же, как при первоначальном импорте. Например,
openlog()
будет вызываться при первом вызовеsyslog()
(еслиopenlog()
ещё не вызывался), а ident и другие параметрыopenlog()
сбрасываются до значений по умолчанию.Вызывает событие аудита
syslog.closelog
без аргументов.
-
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('Обработка началась')
if error:
syslog.syslog(syslog.LOG_ERR, 'Обработка началась')
Пример настройки некоторых параметров журнала, в том числе идентификатор процесса в зарегистрированных сообщениях и запись сообщений в целевое средство, используемое для логгирования почты:
syslog.openlog(logoption=syslog.LOG_PID, facility=syslog.LOG_MAIL)
syslog.syslog('Инициирована обработка электронной почты...')