[Python-checkins] cpython: Closes #28524: added default level for logging.disable().

vinay.sajip python-checkins at python.org
Sat Dec 31 06:40:19 EST 2016


https://hg.python.org/cpython/rev/459500606560
changeset:   105905:459500606560
user:        Vinay Sajip <vinay_sajip at yahoo.co.uk>
date:        Sat Dec 31 11:40:11 2016 +0000
summary:
  Closes #28524: added default level for logging.disable().

files:
  Doc/library/logging.rst  |  10 +++++++++-
  Lib/logging/__init__.py  |   2 +-
  Lib/test/test_logging.py |   5 +++++
  3 files changed, 15 insertions(+), 2 deletions(-)


diff --git a/Doc/library/logging.rst b/Doc/library/logging.rst
--- a/Doc/library/logging.rst
+++ b/Doc/library/logging.rst
@@ -1023,7 +1023,7 @@
       handlers being added multiple times to the root logger, which can in turn
       lead to multiple messages for the same event.
 
-.. function:: disable(lvl)
+.. function:: disable(lvl=CRITICAL)
 
    Provides an overriding level *lvl* for all loggers which takes precedence over
    the logger's own level. When the need arises to temporarily throttle logging
@@ -1036,6 +1036,14 @@
    overriding level, so that logging output again depends on the effective
    levels of individual loggers.
 
+   Note that if you have defined any custom logging level higher than
+   ``CRITICAL`` (this is not recommended), you won't be able to rely on the
+   default value for the *lvl* parameter, but will have to explicitly supply a
+   suitable value.
+
+   .. versionchanged:: 3.7
+      The *lvl* parameter was defaulted to level ``CRITICAL``. See Issue
+      #28524 for more information about this change.
 
 .. function:: addLevelName(lvl, levelName)
 
diff --git a/Lib/logging/__init__.py b/Lib/logging/__init__.py
--- a/Lib/logging/__init__.py
+++ b/Lib/logging/__init__.py
@@ -1889,7 +1889,7 @@
         basicConfig()
     root.log(level, msg, *args, **kwargs)
 
-def disable(level):
+def disable(level=CRITICAL):
     """
     Disable all logging calls of severity 'level' and below.
     """
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
@@ -3473,6 +3473,11 @@
         logging.disable(83)
         self.assertEqual(logging.root.manager.disable, 83)
 
+        # test the default value introduced in 3.7
+        # (Issue #28524)
+        logging.disable()
+        self.assertEqual(logging.root.manager.disable, logging.CRITICAL)
+
     def _test_log(self, method, level=None):
         called = []
         support.patch(self, logging, 'basicConfig',

-- 
Repository URL: https://hg.python.org/cpython


More information about the Python-checkins mailing list