syslog.md · Markdown – Документация Python
Документация Python неофициальный перевод

syslog.md

169 строк · 11.8 КБ · обычная страница · сырой текст · скачать

1> **Источник:** https://python-all.ru/3/library/syslog.html2>3> «Документация Python на русском» – неофициальный перевод официальной документации Python: версии от 2.6 до 3.16, полнотекстовый поиск, английский оригинал рядом с переводом. Эта Markdown-версия страницы предназначена для работы с LLM: вставьте её в ChatGPT, Claude или Cursor.45---67# `syslog` – библиотечные функции syslog Unix89---1011Этот модуль предоставляет интерфейс к библиотечным функциям Unix `syslog`. Подробное описание средства `syslog` приведено на страницах руководства Unix.1213[Доступность](https://python-all.ru/3/library/intro.html#availability): Unix, не WASI, не iOS.1415Этот модуль является обёрткой для семейства системных функций `syslog`. Чистая библиотека Python, умеющая общаться с сервером syslog, доступна в модуле [`logging.handlers`](https://python-all.ru/3/library/logging.handlers.html#module-logging.handlers) как [`SysLogHandler`](https://python-all.ru/3/library/logging.handlers.html#logging.handlers.SysLogHandler).1617Модуль определяет следующие функции:1819#### `syslog.syslog(message)`2021#### `syslog.syslog(priority, message)`2223Отправляет строку *message* системному логгеру. При необходимости добавляется завершающий перевод строки. Каждое сообщение помечается приоритетом, состоящим из *средства* и *уровня*. Необязательный аргумент *priority*, по умолчанию равный [`LOG_INFO`](https://python-all.ru/3/library/syslog.html#syslog.LOG_INFO), определяет приоритет сообщения. Если средство не закодировано в *priority* с помощью логического ИЛИ (`LOG_INFO | LOG_USER`), используется значение, указанное при вызове [`openlog()`](https://python-all.ru/3/library/syslog.html#syslog.openlog).2425Если [`openlog()`](https://python-all.ru/3/library/syslog.html#syslog.openlog) не был вызван до вызова `syslog()`, то `openlog()` будет вызван без аргументов.2627Возбуждает [событие аудита](https://python-all.ru/3/library/sys.html#auditing) `syslog.syslog` с аргументами `priority`, `message`.2829Изменено в версии 3.2: В предыдущих версиях [`openlog()`](https://python-all.ru/3/library/syslog.html#syslog.openlog) не вызывался автоматически, если он не был вызван до вызова `syslog()`, и вызов `openlog()` перекладывался на реализацию syslog.3031Изменено в версии 3.12: Эта функция ограничена в подынтерпретаторах. (Это затрагивает только код, который выполняется в нескольких интерпретаторах, и это ограничение не актуально для большинства пользователей.) [`openlog()`](https://python-all.ru/3/library/syslog.html#syslog.openlog) должен быть вызван в главном интерпретаторе, прежде чем `syslog()` сможет использоваться в подынтерпретаторе. В противном случае будет возбуждено исключение [`RuntimeError`](https://python-all.ru/3/library/exceptions.html#RuntimeError).3233#### `syslog.openlog([ident[, logoption[, facility]]])`3435Параметры журналирования последующих вызовов [`syslog()`](https://python-all.ru/3/library/syslog.html#module-syslog) можно задать, вызвав `openlog()`. `syslog()` вызовет `openlog()` без аргументов, если журнал в данный момент не открыт.3637Необязательный именованный аргумент *ident* – это строка, которая добавляется к каждому сообщению; по умолчанию используется `sys.argv[0]` без начальных компонентов пути. Необязательный именованный аргумент *logoption* (по умолчанию 0) – битовое поле – возможные значения для комбинирования приведены ниже. Необязательный именованный аргумент *facility* (по умолчанию [`LOG_USER`](https://python-all.ru/3/library/syslog.html#syslog.LOG_USER)) задаёт средство по умолчанию для сообщений, в которых средство явно не закодировано.3839Вызывает [событие аудита](https://python-all.ru/3/library/sys.html#auditing) `syslog.openlog` с аргументами `ident`, `logoption`, `facility`.4041Изменено в версии 3.2: В предыдущих версиях именованные аргументы не допускались, а *ident* был обязательным.4243Изменено в версии 3.12: Эта функция ограничена в подынтерпретаторах. (Это затрагивает только код, который выполняется в нескольких интерпретаторах, и это ограничение не актуально для большинства пользователей.) Вызов разрешён только в главном интерпретаторе. При вызове в подынтерпретаторе будет возбуждено исключение [`RuntimeError`](https://python-all.ru/3/library/exceptions.html#RuntimeError).4445#### `syslog.closelog()`4647Сбрасывает значения модуля syslog и вызывает системную библиотечную функцию `closelog()`.4849Это заставляет модуль вести себя так же, как при первоначальном импорте. Например, [`openlog()`](https://python-all.ru/3/library/syslog.html#syslog.openlog) будет вызван при первом вызове [`syslog()`](https://python-all.ru/3/library/syslog.html#module-syslog) (если `openlog()` ещё не был вызван), а *ident* и остальные параметры `openlog()` сбрасываются до значений по умолчанию.5051Возбуждает [событие аудита](https://python-all.ru/3/library/sys.html#auditing) `syslog.closelog` без аргументов.5253Изменено в версии 3.12: Эта функция ограничена в подынтерпретаторах. (Это затрагивает только код, который выполняется в нескольких интерпретаторах, и это ограничение не актуально для большинства пользователей.) Вызов разрешён только в главном интерпретаторе. При вызове в подынтерпретаторе будет возбуждено исключение [`RuntimeError`](https://python-all.ru/3/library/exceptions.html#RuntimeError).5455#### `syslog.setlogmask(maskpri)`5657Устанавливает маску приоритетов равной *maskpri* и возвращает предыдущее значение маски. Вызовы [`syslog()`](https://python-all.ru/3/library/syslog.html#module-syslog) с уровнем приоритета, не установленным в *maskpri*, игнорируются. По умолчанию регистрируются все приоритеты. Функция `LOG_MASK(pri)` вычисляет маску для отдельного приоритета *pri*. Функция `LOG_UPTO(pri)` вычисляет маску для всех приоритетов до *pri* включительно.5859Вызывает [событие аудита](https://python-all.ru/3/library/sys.html#auditing) `syslog.setlogmask` с аргументом `maskpri`.6061Модуль определяет следующие константы:6263#### `syslog.LOG_EMERG`6465#### `syslog.LOG_ALERT`6667#### `syslog.LOG_CRIT`6869#### `syslog.LOG_ERR`7071#### `syslog.LOG_WARNING`7273#### `syslog.LOG_NOTICE`7475#### `syslog.LOG_INFO`7677#### `syslog.LOG_DEBUG`7879Уровни приоритетов (от высокого к низкому).8081#### `syslog.LOG_AUTH`8283#### `syslog.LOG_AUTHPRIV`8485#### `syslog.LOG_CRON`8687#### `syslog.LOG_DAEMON`8889#### `syslog.LOG_FTP`9091#### `syslog.LOG_INSTALL`9293#### `syslog.LOG_KERN`9495#### `syslog.LOG_LAUNCHD`9697#### `syslog.LOG_LPR`9899#### `syslog.LOG_MAIL`100101#### `syslog.LOG_NETINFO`102103#### `syslog.LOG_NEWS`104105#### `syslog.LOG_RAS`106107#### `syslog.LOG_REMOTEAUTH`108109#### `syslog.LOG_SYSLOG`110111#### `syslog.LOG_USER`112113#### `syslog.LOG_UUCP`114115#### `syslog.LOG_LOCAL0`116117#### `syslog.LOG_LOCAL1`118119#### `syslog.LOG_LOCAL2`120121#### `syslog.LOG_LOCAL3`122123#### `syslog.LOG_LOCAL4`124125#### `syslog.LOG_LOCAL5`126127#### `syslog.LOG_LOCAL6`128129#### `syslog.LOG_LOCAL7`130131Источники, в зависимости от доступности в `<syslog.h>` для [`LOG_AUTHPRIV`](https://python-all.ru/3/library/syslog.html#syslog.LOG_AUTHPRIV), [`LOG_FTP`](https://python-all.ru/3/library/syslog.html#syslog.LOG_FTP), [`LOG_NETINFO`](https://python-all.ru/3/library/syslog.html#syslog.LOG_NETINFO), [`LOG_REMOTEAUTH`](https://python-all.ru/3/library/syslog.html#syslog.LOG_REMOTEAUTH), [`LOG_INSTALL`](https://python-all.ru/3/library/syslog.html#syslog.LOG_INSTALL) и [`LOG_RAS`](https://python-all.ru/3/library/syslog.html#syslog.LOG_RAS).132133Изменено в версии 3.13: Добавлены [`LOG_FTP`](https://python-all.ru/3/library/syslog.html#syslog.LOG_FTP), [`LOG_NETINFO`](https://python-all.ru/3/library/syslog.html#syslog.LOG_NETINFO), [`LOG_REMOTEAUTH`](https://python-all.ru/3/library/syslog.html#syslog.LOG_REMOTEAUTH), [`LOG_INSTALL`](https://python-all.ru/3/library/syslog.html#syslog.LOG_INSTALL), [`LOG_RAS`](https://python-all.ru/3/library/syslog.html#syslog.LOG_RAS) и [`LOG_LAUNCHD`](https://python-all.ru/3/library/syslog.html#syslog.LOG_LAUNCHD).134135#### `syslog.LOG_PID`136137#### `syslog.LOG_CONS`138139#### `syslog.LOG_NDELAY`140141#### `syslog.LOG_ODELAY`142143#### `syslog.LOG_NOWAIT`144145#### `syslog.LOG_PERROR`146147Параметры ведения журнала, в зависимости от доступности в `<syslog.h>` для [`LOG_ODELAY`](https://python-all.ru/3/library/syslog.html#syslog.LOG_ODELAY), [`LOG_NOWAIT`](https://python-all.ru/3/library/syslog.html#syslog.LOG_NOWAIT) и [`LOG_PERROR`](https://python-all.ru/3/library/syslog.html#syslog.LOG_PERROR).148149## Примеры150151### Простой пример152153Простой набор примеров:154155```python156import syslog157158syslog.syslog('Processing started')159if error:160    syslog.syslog(syslog.LOG_ERR, 'Processing started')161```162163Пример настройки некоторых параметров ведения журнала: они включают идентификатор процесса в записываемые сообщения и записывают эти сообщения в средство назначения, используемое для журналирования почты.164165```python166syslog.openlog(logoption=syslog.LOG_PID, facility=syslog.LOG_MAIL)167syslog.syslog('E-mail processing initiated...')168```169