diff --git a/Lib/logging/config.py b/Lib/logging/config.py index cfd93116eed..9dd35e11aab 100644 --- a/Lib/logging/config.py +++ b/Lib/logging/config.py @@ -1,4 +1,4 @@ -# Copyright 2001-2016 by Vinay Sajip. All Rights Reserved. +# Copyright 2001-2019 by Vinay Sajip. All Rights Reserved. # # Permission to use, copy, modify, and distribute this software and its # documentation for any purpose and without fee is hereby granted, @@ -19,7 +19,7 @@ Configuration functions for the logging package for Python. The core package is based on PEP 282 and comments thereto in comp.lang.python, and influenced by Apache's log4j system. -Copyright (C) 2001-2016 Vinay Sajip. All Rights Reserved. +Copyright (C) 2001-2019 Vinay Sajip. All Rights Reserved. To use, simply 'import logging' and log away! """ @@ -173,9 +173,10 @@ def _handle_existing_loggers(existing, child_loggers, disable_existing): for log in existing: logger = root.manager.loggerDict[log] if log in child_loggers: - logger.level = logging.NOTSET - logger.handlers = [] - logger.propagate = True + if not isinstance(logger, logging.PlaceHolder): + logger.setLevel(logging.NOTSET) + logger.handlers = [] + logger.propagate = True else: logger.disabled = disable_existing diff --git a/Lib/test/test_logging.py b/Lib/test/test_logging.py index dca744c5909..74ccf48b7eb 100644 --- a/Lib/test/test_logging.py +++ b/Lib/test/test_logging.py @@ -4315,7 +4315,7 @@ class BasicConfigTest(unittest.TestCase): logging._handlers.clear() logging._handlers.update(self.saved_handlers) logging._handlerList[:] = self.saved_handler_list - logging.root.level = self.original_logging_level + logging.root.setLevel(self.original_logging_level) def test_no_kwargs(self): logging.basicConfig()