[Python-checkins] cpython (merge 3.2 -> 3.3): Issue #17521: Merged fix from 3.2.

vinay.sajip python-checkins at python.org
Sat Mar 23 12:23:31 CET 2013


http://hg.python.org/cpython/rev/1f6cda549b85
changeset: 82898:1f6cda549b85
branch: 3.3
parent: 82893:bef32463ecd2
parent: 82897:49d54e4d95df
user: Vinay Sajip <vinay_sajip at yahoo.co.uk>
date: Sat Mar 23 11:22:00 2013 +0000
summary:
 Issue #17521: Merged fix from 3.2.
files:
 Lib/logging/config.py | 4 +-
 Lib/test/test_logging.py | 34 ++++++++++++++++++++++++++-
 Misc/NEWS | 3 ++
 3 files changed, 37 insertions(+), 4 deletions(-)
diff --git a/Lib/logging/config.py b/Lib/logging/config.py
--- a/Lib/logging/config.py
+++ b/Lib/logging/config.py
@@ -172,8 +172,8 @@
 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
--- a/Lib/test/test_logging.py
+++ b/Lib/test/test_logging.py
@@ -1257,9 +1257,30 @@
 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.
@@ -1363,6 +1384,15 @@
 # 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):
diff --git a/Misc/NEWS b/Misc/NEWS
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -196,6 +196,9 @@
 Library
 -------
 
+- Issue #17521: Corrected non-enabling of logger following two calls to
+ fileConfig().
+
 - Issue #17508: Corrected MemoryHandler configuration in dictConfig() where
 the target handler wasn't configured first.
 
-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list

AltStyle によって変換されたページ (->オリジナル) /