]> granicus.if.org Git - python/commitdiff
bpo-29808: Do not fail in SysLogHandler constructor if syslog isn't available. (...
authorVinay Sajip <vinay_sajip@yahoo.co.uk>
Fri, 17 Mar 2017 19:52:56 +0000 (19:52 +0000)
committerGitHub <noreply@github.com>
Fri, 17 Mar 2017 19:52:56 +0000 (19:52 +0000)
bpo-29808: SysLogHandler: Do not fail if initial connect to syslog failed.

(cherry picked from commit 1b038e073807ecb6fd176edaf3386a8e3205416e)

Lib/logging/handlers.py

index 7d779734f37b0d229fff800e45294db9d9cb62d7..2356f8d3d2d8ce96663a65be481a9038115c638e 100644 (file)
@@ -815,7 +815,14 @@ class SysLogHandler(logging.Handler):
 
         if isinstance(address, str):
             self.unixsocket = True
-            self._connect_unixsocket(address)
+            # 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
+            # to ignore it also here.
+            try:
+                self._connect_unixsocket(address)
+            except OSError:
+                pass
         else:
             self.unixsocket = False
             if socktype is None: