syslog — Протоколы Unix syslog
Этот модуль предоставляет интерфейс к библиотечным функциям Unix syslog. Обратитесь к страницам руководства Unix для получения подробного описания syslog объекта.
Этот модуль оборачивает семейство системных функций syslog. Чистая библиотека Python, которая может взаимодействовать с сервером syslog, доступна в модуле logging.handlers как SysLogHandler.
В модуле определены следующие функции:
-
syslog.syslog(message) -
syslog.syslog(priority, message) -
Отправляет строку message в системный регистратор. Если необходимо, добавляет символ новой строки в конце. Каждое сообщение маркируется приоритетом, состоящим из facility и level. Необязательный аргумент priority, который по умолчанию равен
LOG_INFO, определяет приоритет сообщения. Если facility не закодирован в priority с помощью логического ИЛИ (LOG_INFO | LOG_USER), используется значение, заданное в вызовеopenlog().Если функция
openlog()не была вызвана до вызоваsyslog(), тоopenlog()будет вызвана без аргументов.
-
syslog.openlog([ident[, logoption[, facility]]]) -
Параметры протоколирования последующих вызовов
syslog()можно установить, вызвавopenlog(). Функцияsyslog()вызоветopenlog()без аргументов, если журнал не открыт.Необязательный аргумент ident — это строка, которая добавляется в начало каждого сообщения; по умолчанию это
sys.argv[0]с удаленными ведущими компонентами пути. Необязательный аргумент logoption (значение по умолчанию 0) — битовое поле; возможные значения см. ниже. Необязательный аргумент facility (значение по умолчаниюLOG_USER) устанавливает значение по умолчанию для facility для сообщений, не имеющих явно заданного facility.Изменено в версии 3.2: В предыдущих версиях ключевые аргументы были недоступны, и ident был обязательным. Значение по умолчанию для ident зависело от системных библиотек и часто было
pythonвместо имени файла Python-программы.
-
syslog.closelog() -
Сбросить значения модуля syslog и вызвать системную библиотечную функцию
closelog().Это заставляет модуль вести себя так, как он ведет себя при первоначальном импорте. Например,
openlog()будет вызван при первом вызовеsyslog()(еслиopenlog()еще не был вызван), а параметры ident и другие параметрыopenlog()сбрасываются до значений по умолчанию.
-
syslog.setlogmask(maskpri) -
Установить маску приоритетов на maskpri и вернуть предыдущее значение маски. Вызовы
syslog()с уровнем приоритета, не установленным в maskpri, игнорируются. По умолчанию все приоритеты записываются в журнал. ФункцияLOG_MASK(pri)вычисляет маску для отдельного приоритета pri. ФункцияLOG_UPTO(pri)вычисляет маску для всех приоритетов до и включая pri.
В модуле определены следующие константы:
- Уровни приоритетов (с высоким к низкому):
-
LOG_EMERG,LOG_ALERT,LOG_CRIT,LOG_ERR,LOG_WARNING,LOG_NOTICE,LOG_INFO,LOG_DEBUG. - Facilities:
-
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–2020 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.7/library/syslog.html