diff options
| author | Guido van Rossum <guido@python.org> | 2002-12-20 01:54:21 (GMT) | 
|---|---|---|
| committer | Guido van Rossum <guido@python.org> | 2002-12-20 01:54:21 (GMT) | 
| commit | 24475896dd7c80695cb1b632fba37afd99d3b71b (patch) | |
| tree | d7cac0d43c0669965c86656ebf1e64f64eaf140b /Lib/logging/config.py | |
| parent | 328fff72149a896141209b57b577b4dc57ea5d90 (diff) | |
| download | cpython-24475896dd7c80695cb1b632fba37afd99d3b71b.zip cpython-24475896dd7c80695cb1b632fba37afd99d3b71b.tar.gz cpython-24475896dd7c80695cb1b632fba37afd99d3b71b.tar.bz2  | |
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.
Diffstat (limited to 'Lib/logging/config.py')
| -rw-r--r-- | Lib/logging/config.py | 4 | 
1 files 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  | 
