[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