summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Doc/deprecations/pending-removal-in-future.rst3
-rw-r--r--Doc/library/logging.rst17
-rw-r--r--Doc/whatsnew/3.13.rst10
-rw-r--r--Lib/logging/__init__.py17
-rw-r--r--Misc/NEWS.d/next/Library/2024-08-07-14-12-19.gh-issue-105376.QbGPdE.rst3
5 files changed, 26 insertions, 24 deletions
diff --git a/Doc/deprecations/pending-removal-in-future.rst b/Doc/deprecations/pending-removal-in-future.rst
index 7f10d9a..6942b9d 100644
--- a/Doc/deprecations/pending-removal-in-future.rst
+++ b/Doc/deprecations/pending-removal-in-future.rst
@@ -67,6 +67,9 @@ although there is currently no date scheduled for their removal.
* ``EntryPoints`` tuple interface.
* Implicit ``None`` on return values.
+* :mod:`logging`: the ``warn()`` method has been deprecated
+ since Python 3.3, use :meth:`~logging.warning()` instead.
+
* :mod:`mailbox`: Use of StringIO input and text mode is deprecated, use
BytesIO and binary mode instead.
diff --git a/Doc/library/logging.rst b/Doc/library/logging.rst
index 4ba520c..204d7e4 100644
--- a/Doc/library/logging.rst
+++ b/Doc/library/logging.rst
@@ -352,10 +352,6 @@ in a module, ``__name__`` is the module's name in the Python package namespace.
.. versionchanged:: 3.8
The *stacklevel* parameter was added.
- .. versionchanged:: 3.13
- Remove the undocumented ``warn()`` method which was an alias to the
- :meth:`warning` method.
-
.. method:: Logger.info(msg, *args, **kwargs)
@@ -368,6 +364,10 @@ in a module, ``__name__`` is the module's name in the Python package namespace.
Logs a message with level :const:`WARNING` on this logger. The arguments are
interpreted as for :meth:`debug`.
+ .. note:: There is an obsolete method ``warn`` which is functionally
+ identical to ``warning``. As ``warn`` is deprecated, please do not use
+ it - use ``warning`` instead.
+
.. method:: Logger.error(msg, *args, **kwargs)
Logs a message with level :const:`ERROR` on this logger. The arguments are
@@ -1126,11 +1126,6 @@ information into logging calls. For a usage example, see the section on
.. versionchanged:: 3.13
- Remove the undocumented :meth:`!warn`` method which was an alias to the
- :meth:`!warning` method.
-
- .. versionchanged:: 3.13
-
The *merge_extra* argument was added.
@@ -1224,10 +1219,6 @@ functions.
identical to ``warning``. As ``warn`` is deprecated, please do not use
it - use ``warning`` instead.
- .. versionchanged:: 3.13
- Remove the undocumented ``warn()`` function which was an alias to the
- :func:`warning` function.
-
.. function:: error(msg, *args, **kwargs)
diff --git a/Doc/whatsnew/3.13.rst b/Doc/whatsnew/3.13.rst
index 5c57b5d..aa06e92 100644
--- a/Doc/whatsnew/3.13.rst
+++ b/Doc/whatsnew/3.13.rst
@@ -1397,16 +1397,6 @@ locale
use ``locale.setlocale(locale.LC_ALL, "")`` instead.
(Contributed by Victor Stinner in :gh:`104783`.)
-logging
--------
-
-* :mod:`logging`: Remove undocumented and untested ``Logger.warn()`` and
- ``LoggerAdapter.warn()`` methods and ``logging.warn()`` function. Deprecated
- since Python 3.3, they were aliases to the :meth:`logging.Logger.warning`
- method, :meth:`!logging.LoggerAdapter.warning` method and
- :func:`logging.warning` function.
- (Contributed by Victor Stinner in :gh:`105376`.)
-
pathlib
-------
diff --git a/Lib/logging/__init__.py b/Lib/logging/__init__.py
index 3f41442..aa9b79d 100644
--- a/Lib/logging/__init__.py
+++ b/Lib/logging/__init__.py
@@ -37,7 +37,7 @@ __all__ = ['BASIC_FORMAT', 'BufferingFormatter', 'CRITICAL', 'DEBUG', 'ERROR',
'captureWarnings', 'critical', 'debug', 'disable', 'error',
'exception', 'fatal', 'getLevelName', 'getLogger', 'getLoggerClass',
'info', 'log', 'makeLogRecord', 'setLoggerClass', 'shutdown',
- 'warning', 'getLogRecordFactory', 'setLogRecordFactory',
+ 'warn', 'warning', 'getLogRecordFactory', 'setLogRecordFactory',
'lastResort', 'raiseExceptions', 'getLevelNamesMapping',
'getHandlerByName', 'getHandlerNames']
@@ -1530,6 +1530,11 @@ class Logger(Filterer):
if self.isEnabledFor(WARNING):
self._log(WARNING, msg, args, **kwargs)
+ def warn(self, msg, *args, **kwargs):
+ warnings.warn("The 'warn' method is deprecated, "
+ "use 'warning' instead", DeprecationWarning, 2)
+ self.warning(msg, *args, **kwargs)
+
def error(self, msg, *args, **kwargs):
"""
Log 'msg % args' with severity 'ERROR'.
@@ -1906,6 +1911,11 @@ class LoggerAdapter(object):
"""
self.log(WARNING, msg, *args, **kwargs)
+ def warn(self, msg, *args, **kwargs):
+ warnings.warn("The 'warn' method is deprecated, "
+ "use 'warning' instead", DeprecationWarning, 2)
+ self.warning(msg, *args, **kwargs)
+
def error(self, msg, *args, **kwargs):
"""
Delegate an error call to the underlying logger.
@@ -2169,6 +2179,11 @@ def warning(msg, *args, **kwargs):
basicConfig()
root.warning(msg, *args, **kwargs)
+def warn(msg, *args, **kwargs):
+ warnings.warn("The 'warn' function is deprecated, "
+ "use 'warning' instead", DeprecationWarning, 2)
+ warning(msg, *args, **kwargs)
+
def info(msg, *args, **kwargs):
"""
Log a message with severity 'INFO' on the root logger. If the logger has
diff --git a/Misc/NEWS.d/next/Library/2024-08-07-14-12-19.gh-issue-105376.QbGPdE.rst b/Misc/NEWS.d/next/Library/2024-08-07-14-12-19.gh-issue-105376.QbGPdE.rst
new file mode 100644
index 0000000..9756a14
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/2024-08-07-14-12-19.gh-issue-105376.QbGPdE.rst
@@ -0,0 +1,3 @@
+Restore the deprecated :mod:`logging` ``warn()`` method. It was removed in
+Python 3.13 alpha 1. Keep the deprecated ``warn()`` method in Python 3.13.
+Patch by Victor Stinner.