[Python-checkins] [3.11] gh-98307: Add docstring and documentation for SysLogHandler.cr… (GH-98325)
vsajip
webhook-mailer at python.org
Sun Oct 16 13:46:04 EDT 2022
https://github.com/python/cpython/commit/f64e26c04e30a159901a68a5c7d3040944bc5f03
commit: f64e26c04e30a159901a68a5c7d3040944bc5f03
branch: 3.11
author: Vinay Sajip <vinay_sajip at yahoo.co.uk>
committer: vsajip <vinay_sajip at yahoo.co.uk>
date: 2022-10-16T18:45:59+01:00
summary:
[3.11] gh-98307: Add docstring and documentation for SysLogHandler.cr… (GH-98325)
Co-authored-by: C.A.M. Gerlach <CAM.Gerlach at Gerlach.CAM>
files:
A Misc/NEWS.d/next/Library/2022-10-16-06-18-59.gh-issue-98307.b2_CDu.rst
M Doc/library/logging.handlers.rst
M Lib/logging/handlers.py
diff --git a/Doc/library/logging.handlers.rst b/Doc/library/logging.handlers.rst
index 8ab76ab93b60..b64552982787 100644
--- a/Doc/library/logging.handlers.rst
+++ b/Doc/library/logging.handlers.rst
@@ -650,6 +650,17 @@ supports sending logging messages to a remote or local Unix syslog.
Closes the socket to the remote host.
+ .. method:: createSocket()
+
+ Tries to create a socket and, if it's not a datagram socket, connect it
+ to the other end. This method is called during handler initialization,
+ but it's not regarded as an error if the other end isn't listening at
+ this point - the method will be called again when emitting an event, if
+ but it's not regarded as an error if the other end isn't listening yet
+ --- the method will be called again when emitting an event,
+ if there is no socket at that point.
+
+ .. versionadded:: 3.11
.. method:: emit(record)
diff --git a/Lib/logging/handlers.py b/Lib/logging/handlers.py
index c6853e0513e0..f5a9760fd496 100644
--- a/Lib/logging/handlers.py
+++ b/Lib/logging/handlers.py
@@ -891,6 +891,13 @@ def _connect_unixsocket(self, address):
raise
def createSocket(self):
+ """
+ Try to create a socket and, if it's not a datagram socket, connect it
+ to the other end. This method is called during handler initialization,
+ but it's not regarded as an error if the other end isn't listening yet
+ --- the method will be called again when emitting an event,
+ if there is no socket at that point.
+ """
address = self.address
socktype = self.socktype
@@ -898,7 +905,7 @@ def createSocket(self):
self.unixsocket = True
# Syslog server may be unavailable during handler initialisation.
# C's openlog() function also ignores connection errors.
- # Moreover, we ignore these errors while logging, so it not worse
+ # Moreover, we ignore these errors while logging, so it's not worse
# to ignore it also here.
try:
self._connect_unixsocket(address)
diff --git a/Misc/NEWS.d/next/Library/2022-10-16-06-18-59.gh-issue-98307.b2_CDu.rst b/Misc/NEWS.d/next/Library/2022-10-16-06-18-59.gh-issue-98307.b2_CDu.rst
new file mode 100644
index 000000000000..3fe41d53c980
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/2022-10-16-06-18-59.gh-issue-98307.b2_CDu.rst
@@ -0,0 +1,2 @@
+A :meth:`~logging.handlers.SysLogHandler.createSocket` method was added to
+:class:`~logging.handlers.SysLogHandler`.
More information about the Python-checkins
mailing list