syslog — процедуры библиотеки syslog в Unix
Этот модуль предоставляет интерфейс к процедурам библиотеки Unix syslog. Подробное описание средства syslog см. на справочных страницах Unix.
Доступность: Unix, не WASI, не iOS.
Этот модуль оборачивает семейство системных процедур syslog. Чистая библиотека Python, способная взаимодействовать с сервером syslog, доступна в модуле logging.handlers как SysLogHandler.
Модуль определяет следующие функции:
-
syslog.syslog(message) - syslog.syslog(priority, message)
-
Отправляет строку message в системный журнал. При необходимости в конец добавляется символ новой строки. Каждое сообщение помечается приоритетом, состоящим из средства и уровня. Необязательный аргумент priority, по умолчанию равный
LOG_INFO, задаёт приоритет сообщения. Если средство не закодировано в priority с помощью логического ИЛИ (LOG_INFO | LOG_USER), используется значение, переданное при вызовеopenlog().Если
openlog()не вызывалась до вызоваsyslog(),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.
Модуль определяет следующие константы:
-
syslog.LOG_EMERG -
syslog.LOG_ALERT -
syslog.LOG_CRIT -
syslog.LOG_ERR -
syslog.LOG_WARNING -
syslog.LOG_NOTICE -
syslog.LOG_INFO -
syslog.LOG_DEBUG -
Уровни приоритета (от высокого к низкому).
-
syslog.LOG_AUTH -
syslog.LOG_AUTHPRIV -
syslog.LOG_CRON -
syslog.LOG_DAEMON -
syslog.LOG_FTP -
syslog.LOG_INSTALL -
syslog.LOG_KERN -
syslog.LOG_LAUNCHD -
syslog.LOG_LPR -
syslog.LOG_MAIL -
syslog.LOG_NETINFO -
syslog.LOG_NEWS -
syslog.LOG_RAS -
syslog.LOG_REMOTEAUTH -
syslog.LOG_SYSLOG -
syslog.LOG_USER -
syslog.LOG_UUCP -
syslog.LOG_LOCAL0 -
syslog.LOG_LOCAL1 -
syslog.LOG_LOCAL2 -
syslog.LOG_LOCAL3 -
syslog.LOG_LOCAL4 -
syslog.LOG_LOCAL5 -
syslog.LOG_LOCAL6 -
syslog.LOG_LOCAL7 -
Средства, наличие которых зависит от
<syslog.h>:LOG_AUTHPRIV,LOG_FTP,LOG_NETINFO,LOG_REMOTEAUTH,LOG_INSTALLиLOG_RAS.Изменено в версии 3.13: Добавлены
LOG_FTP,LOG_NETINFO,LOG_REMOTEAUTH,LOG_INSTALL,LOG_RASиLOG_LAUNCHD.
-
syslog.LOG_PID -
syslog.LOG_CONS -
syslog.LOG_NDELAY -
syslog.LOG_ODELAY -
syslog.LOG_NOWAIT -
syslog.LOG_PERROR -
Параметры журналирования, наличие которых зависит от
<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 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.14/library/syslog.html