]> git.ipfire.org Git - oddments/ddns.git/blobdiff - src/ddns/__init__.py
Log an entire stack trace for unhandled exceptions.
[oddments/ddns.git] / src / ddns / __init__.py
index 65e61d50062b5f56acdf5c1d2980e0ac5bdb6176..6828119ea27371427a11ef4114f68ac506355f24 100644 (file)
@@ -52,7 +52,11 @@ class DDNSCore(object):
        def __init__(self, debug=False):
                # In debug mode, enable debug logging.
                if debug:
-                       logger.setLevel(logging.DEBUG)
+                       rootlogger = logging.getLogger("ddns")
+                       rootlogger.setLevel(logging.DEBUG)
+                       for handler in rootlogger.handlers:
+                               handler.setLevel(logging.DEBUG)
+
                        logger.debug(_("Debugging mode enabled"))
 
                # Initialize the settings array.
@@ -106,6 +110,9 @@ class DDNSCore(object):
                        DDNSProviderRegfish,
                        DDNSProviderSelfhost,
                        DDNSProviderSPDNS,
+                       DDNSProviderStrato,
+                       DDNSProviderTwoDNS,
+                       DDNSProviderUdmedia,
                        DDNSProviderVariomedia,
                        DDNSProviderZoneedit,
                ):
@@ -190,8 +197,7 @@ class DDNSCore(object):
 
                except Exception, e:
                        logger.error(_("Dynamic DNS update for %(hostname)s (%(provider)s) throwed an unhandled exception:") % \
-                               { "hostname" : entry.hostname, "provider" : entry.name })
-                       logger.error("  %s" % e)
+                               { "hostname" : entry.hostname, "provider" : entry.name }, exc_info=True)
 
                else:
                        logger.info(_("Dynamic DNS update for %(hostname)s (%(provider)s) successful") % \