syslog — процедуры библиотеки syslog в Unix
Этот модуль предоставляет интерфейс к процедурам библиотеки Unix syslog. Подробное описание средства syslog см. на страницах руководства Unix.
Доступность: Unix, не Emscripten, не WASI.
Этот модуль обёртывает семейство системных процедур syslog. Библиотека на чистом Python, которая может взаимодействовать с сервером syslog, доступна в модуле logging.handlers как SysLogHandler.
Модуль определяет следующие функции:
-
syslog.syslog(message) - syslog.syslog(priority, message)
-
Отправляет строку message системному средству ведения журнала. При необходимости в конец добавляется символ новой строки. Каждому сообщению назначается приоритет, состоящий из категории и уровня. Необязательный аргумент priority, значение которого по умолчанию —
LOG_INFO, определяет приоритет сообщения. Если категория не закодирована в priority с помощью побитового ИЛИ (LOG_INFO | LOG_USER), используется значение, заданное при вызовеopenlog().Если до вызова
syslog()не вызывалась функцияopenlog(), функция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.
Модуль определяет следующие константы:
- Уровни приоритета (от высокого к низкому):
-
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...')
© 2001–2024 Python Software Foundation
Licensed under the PSF License.
https://docs.python.org/3.12/library/syslog.html