summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVinay Sajip <vinay_sajip@yahoo.co.uk>2016-12-31 11:40:11 (GMT)
committerVinay Sajip <vinay_sajip@yahoo.co.uk>2016-12-31 11:40:11 (GMT)
commitd489ac91020efcf7b76a9fed0a44891c334ba67e (patch)
treea0cbc56f0d2f317d39c9182d2e6f94a3ce91e7bb
parent8e9c42e8e827fd4212639671faec9cf4ff62b6e9 (diff)
downloadcpython-d489ac91020efcf7b76a9fed0a44891c334ba67e.zip
cpython-d489ac91020efcf7b76a9fed0a44891c334ba67e.tar.gz
cpython-d489ac91020efcf7b76a9fed0a44891c334ba67e.tar.bz2
Closes #28524: added default level for logging.disable().
-rw-r--r--Doc/library/logging.rst10
-rw-r--r--Lib/logging/__init__.py2
-rw-r--r--Lib/test/test_logging.py5
3 files changed, 15 insertions, 2 deletions
diff --git a/Doc/library/logging.rst b/Doc/library/logging.rst
index 6098878..d03cc50 100644
--- a/Doc/library/logging.rst
+++ b/Doc/library/logging.rst
@@ -1023,7 +1023,7 @@ functions.
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 @@ functions.
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
index 2590d65..d886d35 100644
--- a/Lib/logging/__init__.py
+++ b/Lib/logging/__init__.py
@@ -1889,7 +1889,7 @@ def log(level, msg, *args, **kwargs):
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
index 08cdd7f..7c5d1fd 100644
--- a/Lib/test/test_logging.py
+++ b/Lib/test/test_logging.py
@@ -3473,6 +3473,11 @@ class ModuleLevelMiscTest(BaseTest):
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',