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