gh-98307: Add docstring and documentation for SysLogHandler.createSocket (GH-98319)

Co-authored-by: C.A.M. Gerlach <CAM.Gerlach@Gerlach.CAM>
This commit is contained in:
Vinay Sajip 2022-10-16 09:15:46 +01:00 committed by GitHub
parent 7b48d02933
commit f6b1e4048d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 21 additions and 1 deletions

View file

@ -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)

View file

@ -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)

View file

@ -0,0 +1,2 @@
A :meth:`~logging.handlers.SysLogHandler.createSocket` method was added to
:class:`~logging.handlers.SysLogHandler`.