Skip to content

Commit

Permalink
pythongh-98307: Add docstring and documentation for SysLogHandler.cre…
Browse files Browse the repository at this point in the history
…ateSocket
  • Loading branch information
vsajip committed Oct 16, 2022
1 parent 7b48d02 commit 0eb2f90
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 1 deletion.
7 changes: 7 additions & 0 deletions Doc/library/logging.handlers.rst
Original file line number Diff line number Diff line change
Expand Up @@ -650,6 +650,13 @@ 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
there is no socket at that point.

.. method:: emit(record)

Expand Down
9 changes: 8 additions & 1 deletion Lib/logging/handlers.py
Original file line number Diff line number Diff line change
Expand Up @@ -891,14 +891,21 @@ 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 at
this point - the method will be called again when emitting an event, if
there is no socket at that point.
"""
address = self.address
socktype = self.socktype

if isinstance(address, str):
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)
Expand Down

0 comments on commit 0eb2f90

Please sign in to comment.