diff options
author | Vinay Sajip <vinay_sajip@yahoo.co.uk> | 2013-03-23 11:23:05 (GMT) |
---|---|---|
committer | Vinay Sajip <vinay_sajip@yahoo.co.uk> | 2013-03-23 11:23:05 (GMT) |
commit | 8ec95b81d53bcadc7bb8defebb5cdf73261823f9 (patch) | |
tree | 278d0006e56aa77f631c3daea49fcc01752293f5 /Lib | |
parent | 42fb352a987050eb042ca8b83d679752e02e1441 (diff) | |
parent | 9b862b9d6679ed0de6dfeba158b417d79d4d6ed1 (diff) | |
download | cpython-8ec95b81d53bcadc7bb8defebb5cdf73261823f9.zip cpython-8ec95b81d53bcadc7bb8defebb5cdf73261823f9.tar.gz cpython-8ec95b81d53bcadc7bb8defebb5cdf73261823f9.tar.bz2 |
Closes #17521: Merged fix from 3.3.
Diffstat (limited to 'Lib')
-rw-r--r-- | Lib/logging/config.py | 4 | ||||
-rw-r--r-- | Lib/test/test_logging.py | 34 |
2 files changed, 34 insertions, 4 deletions
diff --git a/Lib/logging/config.py b/Lib/logging/config.py index a65fd73..b0c0971 100644 --- a/Lib/logging/config.py +++ b/Lib/logging/config.py @@ -175,8 +175,8 @@ def _handle_existing_loggers(existing, child_loggers, disable_existing): logger.level = logging.NOTSET logger.handlers = [] logger.propagate = True - elif disable_existing: - logger.disabled = True + else: + logger.disabled = disable_existing def _install_loggers(cp, handlers, disable_existing): """Create and install loggers""" diff --git a/Lib/test/test_logging.py b/Lib/test/test_logging.py index f2ae095..11e812d 100644 --- a/Lib/test/test_logging.py +++ b/Lib/test/test_logging.py @@ -1261,9 +1261,30 @@ class ConfigFileTest(BaseTest): datefmt= """ - def apply_config(self, conf): + disable_test = """ + [loggers] + keys=root + + [handlers] + keys=screen + + [formatters] + keys= + + [logger_root] + level=DEBUG + handlers=screen + + [handler_screen] + level=DEBUG + class=StreamHandler + args=(sys.stdout,) + formatter= + """ + + def apply_config(self, conf, **kwargs): file = io.StringIO(textwrap.dedent(conf)) - logging.config.fileConfig(file) + logging.config.fileConfig(file, **kwargs) def test_config0_ok(self): # A simple config file which overrides the default settings. @@ -1385,6 +1406,15 @@ class ConfigFileTest(BaseTest): # Original logger output is empty. self.assert_log_lines([]) + def test_logger_disabling(self): + self.apply_config(self.disable_test) + logger = logging.getLogger('foo') + self.assertFalse(logger.disabled) + self.apply_config(self.disable_test) + self.assertTrue(logger.disabled) + self.apply_config(self.disable_test, disable_existing_loggers=False) + self.assertFalse(logger.disabled) + @unittest.skipUnless(threading, 'Threading required for this test.') class SocketHandlerTest(BaseTest): |