From 24475896dd7c80695cb1b632fba37afd99d3b71b Mon Sep 17 00:00:00 2001 From: Guido van Rossum Date: Fri, 20 Dec 2002 01:54:21 +0000 Subject: 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. --- Lib/logging/config.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 @@ def fileConfig(fname, defaults=None): 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 @@ def fileConfig(fname, defaults=None): 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 -- cgit v0.12