Issue #12718: Set importer on instance if Python function, to avoid bad interaction with winpdb.
diff --git a/Lib/logging/config.py b/Lib/logging/config.py
index 37729d8..e2b0163 100644
--- a/Lib/logging/config.py
+++ b/Lib/logging/config.py
@@ -379,6 +379,12 @@
     def __init__(self, config):
         self.config = ConvertingDict(config)
         self.config.configurator = self
+        # Issue 12718: winpdb replaces __import__ with a Python function, which
+        # ends up being treated as a bound method. To avoid problems, we
+        # set the importer on the instance, but leave it defined in the class
+        # so existing code doesn't break
+        if type(__import__) == types.FunctionType:
+            self.importer = __import__
 
     def resolve(self, s):
         """
diff --git a/Misc/NEWS b/Misc/NEWS
index cd2b2fc..016f5d7 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -247,6 +247,9 @@
 Library
 -------
 
+- Issue #12718: Fix interaction with winpdb overriding __import__ by setting
+  importer attribute on BaseConfigurator instance.
+  
 - Issue #17521: Corrected non-enabling of logger following two calls to
   fileConfig().