]> git.proxmox.com Git - mirror_ifupdown2.git/commitdiff
log: use stderr if syslog initialization fails
authorJulien Fortin <julien@cumulusnetworks.com>
Sun, 30 Dec 2018 15:43:50 +0000 (22:43 +0700)
committerJulien Fortin <julien@cumulusnetworks.com>
Sun, 30 Dec 2018 15:45:47 +0000 (22:45 +0700)
closes: #917534

Reported-by: Joerg Dorchain <joerg@dorchain.net>
Signed-off-by: Julien Fortin <julien@cumulusnetworks.com>
debian/changelog
ifupdown2/__init__.py
ifupdown2/ifupdown/log.py
setup.py

index 39c9e0d023d6d60a0fa887a70aaf5ecd6903ac32..60639395e43710463e6ce4c1401524b47f764002 100644 (file)
@@ -1,3 +1,9 @@
+ifupdown2 (1.2.3-1) unstable; urgency=medium
+
+  * Fix: log: use stderr if syslog initialization fails (closes: #917534)
+
+ -- Julien Fortin <julien@cumulusnetworks.com>  Sun, 30 Dec 2018 23:42:42 +0700
+
 ifupdown2 (1.2.2-1) unstable; urgency=medium
 
   * New: add support for B.A.T.M.A.N. adv. attributes
index b72a681227717c8af4bde7c6f26491afb555bf48..de8f238c7cfede7a63bf0619f1a51a636240cc46 100644 (file)
@@ -1,7 +1,7 @@
 #!/usr/bin/env python
 # -*- coding: utf-8 -*-
 
-__version__ = '1.2.2'
+__version__ = '1.2.3'
 
 # Copyright (C) 2014,2015,2016,2017,2018 Cumulus Networks, Inc. All rights reserved
 #
index 732c68a1746d14d211179044beec0e29577ef1a0..e569fbe5a0a680017813d37c6dc3ea53d03e7020 100644 (file)
@@ -62,15 +62,19 @@ class Log:
         address = '/dev/log'
         format = '%(name)s: %(levelname)s: %(message)s'
 
-        self.syslog_handler = logging.handlers.SysLogHandler(address=address, facility=facility)
-        self.syslog_handler.setFormatter(logging.Formatter(format))
+        try:
+            self.syslog_handler = logging.handlers.SysLogHandler(address=address, facility=facility)
+            self.syslog_handler.setFormatter(logging.Formatter(format))
+        except Exception as e:
+            sys.stderr.write("warning: syslogs: %s\n" % str(e))
+            self.syslog_handler = None
 
         # console
         format = '%(levelname)s: %(message)s'
         self.console_handler = logging.StreamHandler(sys.stderr)
         self.console_handler.setFormatter(logging.Formatter(format))
 
-        if self.LOGGER_NAME[-1] == 'd':
+        if self.syslog_handler and self.LOGGER_NAME[-1] == 'd':
             self.update_current_logger(syslog=True, verbose=True, debug=False)
         else:
             self.update_current_logger(syslog=False, verbose=False, debug=False)
@@ -78,7 +82,7 @@ class Log:
     def update_current_logger(self, syslog, verbose, debug):
         self.syslog = syslog
         self.root.setLevel(self.get_log_level(verbose=verbose, debug=debug))
-        self.root.handlers = [self.syslog_handler if self.syslog else self.console_handler]
+        self.root.handlers = [self.syslog_handler if self.syslog and self.syslog_handler else self.console_handler]
         self.flush()
 
     def flush(self):
@@ -97,7 +101,9 @@ class Log:
                     self.critical(str(e))
                     exit(84)
         self.console_handler.flush()
-        self.syslog_handler.flush()
+
+        if self.syslog_handler:
+            self.syslog_handler.flush()
 
     def tx_data(self, data, socket=None):
         socket_obj = socket if socket else self.socket
index 200f7e2ee0f9c308a231c9632d8e8b9959e32848..67caadefcc487cb1d205432b6544dfae92376cd6 100755 (executable)
--- a/setup.py
+++ b/setup.py
@@ -65,7 +65,7 @@ setup(
     name='ifupdown2',
     packages=find_packages(),
     url='https://github.com/CumulusNetworks/ifupdown2',
-    version='1.2.2',
+    version='1.2.3',
     data_files=DATA_FILES,
     setup_requires=['setuptools'],
     scripts=SCRIPTS,