gh-87286: Add a number of LOG_* constants to syslog (#24432)

* bpo-43120: Add a number of LOG_* constants to syslog

This adds a number of syslog facilities to the syslogmodule.c.
These values are available on macOS.

* Switch contant documentation to the data directive

This fixes a CI warning and matches the pattern
used in the documentation for ``os``.

* Update Doc/library/syslog.rst


Co-authored-by: Hugo van Kemenade <hugovk@users.noreply.github.com>
Co-authored-by: Alex Waygood <Alex.Waygood@Gmail.com>
This commit is contained in:
Ronald Oussoren 2023-12-12 10:25:51 +01:00 committed by GitHub
parent e0fb7004ed
commit 0d2fe6bab0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 82 additions and 16 deletions

View File

@ -15,7 +15,7 @@ facility.
This module wraps the system ``syslog`` family of routines. A pure Python
library that can speak to a syslog server is available in the
:mod:`logging.handlers` module as :class:`SysLogHandler`.
:mod:`logging.handlers` module as :class:`~logging.handlers.SysLogHandler`.
The module defines the following functions:
@ -107,22 +107,62 @@ The module defines the following functions:
The module defines the following constants:
Priority levels (high to low):
:const:`LOG_EMERG`, :const:`LOG_ALERT`, :const:`LOG_CRIT`, :const:`LOG_ERR`,
:const:`LOG_WARNING`, :const:`LOG_NOTICE`, :const:`LOG_INFO`,
:const:`LOG_DEBUG`.
Facilities:
:const:`LOG_KERN`, :const:`LOG_USER`, :const:`LOG_MAIL`, :const:`LOG_DAEMON`,
:const:`LOG_AUTH`, :const:`LOG_LPR`, :const:`LOG_NEWS`, :const:`LOG_UUCP`,
:const:`LOG_CRON`, :const:`LOG_SYSLOG`, :const:`LOG_LOCAL0` to
:const:`LOG_LOCAL7`, and, if defined in ``<syslog.h>``,
:const:`LOG_AUTHPRIV`.
.. data:: LOG_EMERG
LOG_ALERT
LOG_CRIT
LOG_ERR
LOG_WARNING
LOG_NOTICE
LOG_INFO
LOG_DEBUG
Log options:
:const:`LOG_PID`, :const:`LOG_CONS`, :const:`LOG_NDELAY`, and, if defined
in ``<syslog.h>``, :const:`LOG_ODELAY`, :const:`LOG_NOWAIT`, and
:const:`LOG_PERROR`.
Priority levels (high to low).
.. data:: LOG_AUTH
LOG_AUTHPRIV
LOG_CRON
LOG_DAEMON
LOG_FTP
LOG_INSTALL
LOG_KERN
LOG_LAUNCHD
LOG_LPR
LOG_MAIL
LOG_NETINFO
LOG_NEWS
LOG_RAS
LOG_REMOTEAUTH
LOG_SYSLOG
LOG_USER
LOG_UUCP
LOG_LOCAL0
LOG_LOCAL1
LOG_LOCAL2
LOG_LOCAL3
LOG_LOCAL4
LOG_LOCAL5
LOG_LOCAL6
LOG_LOCAL7
Facilities, depending on availability in ``<syslog.h>`` for :const:`LOG_AUTHPRIV`,
:const:`LOG_FTP`, :const:`LOG_NETINFO`, :const:`LOG_REMOTEAUTH`,
:const:`LOG_INSTALL` and :const:`LOG_RAS`.
.. versionchanged:: 3.13
Added :const:`LOG_FTP`, :const:`LOG_NETINFO`, :const:`LOG_REMOTEAUTH`,
:const:`LOG_INSTALL`, :const:`LOG_RAS`, and :const:`LOG_LAUNCHD`.
.. data:: LOG_PID
LOG_CONS
LOG_NDELAY
LOG_ODELAY
LOG_NOWAIT
LOG_PERROR
Log options, depending on availability in ``<syslog.h>`` for
:const:`LOG_ODELAY`, :const:`LOG_NOWAIT` and :const:`LOG_PERROR`.
Examples

View File

@ -91,7 +91,6 @@ Doc/library/ssl.rst
Doc/library/stdtypes.rst
Doc/library/string.rst
Doc/library/subprocess.rst
Doc/library/syslog.rst
Doc/library/tarfile.rst
Doc/library/termios.rst
Doc/library/test.rst

View File

@ -0,0 +1,3 @@
Added :const:`LOG_FTP`, :const:`LOG_NETINFO`, :const:`LOG_REMOTEAUTH`,
:const:`LOG_INSTALL`, :const:`LOG_RAS`, and :const:`LOG_LAUNCHD` tot the
:mod:`syslog` module, all of them constants on used on macOS.

View File

@ -406,6 +406,30 @@ syslog_exec(PyObject *module)
ADD_INT_MACRO(module, LOG_AUTHPRIV);
#endif
#ifdef LOG_FTP
ADD_INT_MACRO(module, LOG_FTP);
#endif
#ifdef LOG_NETINFO
ADD_INT_MACRO(module, LOG_NETINFO);
#endif
#ifdef LOG_REMOTEAUTH
ADD_INT_MACRO(module, LOG_REMOTEAUTH);
#endif
#ifdef LOG_INSTALL
ADD_INT_MACRO(module, LOG_INSTALL);
#endif
#ifdef LOG_RAS
ADD_INT_MACRO(module, LOG_RAS);
#endif
#ifdef LOG_LAUNCHD
ADD_INT_MACRO(module, LOG_LAUNCHD);
#endif
return 0;
}