Skip to content

Commit

Permalink
pythongh-87286: Add a number of LOG_* constants to syslog (python#24432)
Browse files Browse the repository at this point in the history
* 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 <[email protected]>
Co-authored-by: Alex Waygood <[email protected]>
  • Loading branch information
3 people authored Dec 12, 2023
1 parent e0fb700 commit 0d2fe6b
Show file tree
Hide file tree
Showing 4 changed files with 84 additions and 18 deletions.
74 changes: 57 additions & 17 deletions Doc/library/syslog.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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:

Expand Down Expand Up @@ -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`.

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`.

.. data:: LOG_EMERG
LOG_ALERT
LOG_CRIT
LOG_ERR
LOG_WARNING
LOG_NOTICE
LOG_INFO
LOG_DEBUG

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
Expand Down
1 change: 0 additions & 1 deletion Doc/tools/.nitignore
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
Original file line number Diff line number Diff line change
@@ -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.
24 changes: 24 additions & 0 deletions Modules/syslogmodule.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
}

Expand Down

0 comments on commit 0d2fe6b

Please sign in to comment.