Fix what I believe is a bug: when removing all previous handlers,
should copy the handlers list because it's being modified by the loop.
diff --git a/Lib/logging/config.py b/Lib/logging/config.py
index 3d342f4..933bdc7 100644
--- a/Lib/logging/config.py
+++ b/Lib/logging/config.py
@@ -133,7 +133,7 @@
if "level" in opts:
level = cp.get(sectname, "level")
log.setLevel(logging._levelNames[level])
- for h in root.handlers:
+ for h in root.handlers[:]:
root.removeHandler(h)
hlist = cp.get(sectname, "handlers")
if len(hlist):
@@ -165,7 +165,7 @@
if "level" in opts:
level = cp.get(sectname, "level")
logger.setLevel(logging._levelNames[level])
- for h in logger.handlers:
+ for h in logger.handlers[:]:
logger.removeHandler(h)
logger.propagate = propagate
logger.disabled = 0