Skip to content

Commit

Permalink
pythongh-105376: Restore deprecated logging warn() method
Browse files Browse the repository at this point in the history
This reverts commit dcc028d and
commit 6c54e5d.

Keep deprecated logging warn() method in Python 3.13.
  • Loading branch information
vstinner committed Aug 7, 2024
1 parent 9e551f9 commit d659bc7
Show file tree
Hide file tree
Showing 4 changed files with 23 additions and 24 deletions.
17 changes: 4 additions & 13 deletions Doc/library/logging.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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)

Expand All @@ -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
Expand Down Expand Up @@ -1124,11 +1124,6 @@ information into logging calls. For a usage example, see the section on
Attribute :attr:`!manager` and method :meth:`!_log` were added, which
delegate to the underlying logger and allow adapters to be nested.

.. 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.
Expand Down Expand Up @@ -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)

Expand Down
10 changes: 0 additions & 10 deletions Doc/whatsnew/3.13.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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
-------

Expand Down
17 changes: 16 additions & 1 deletion Lib/logging/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@
'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']

Expand Down Expand Up @@ -1530,6 +1530,11 @@ def warning(self, msg, *args, **kwargs):
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'.
Expand Down Expand Up @@ -1906,6 +1911,11 @@ def warning(self, msg, *args, **kwargs):
"""
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.
Expand Down Expand Up @@ -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
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
Restore deprecated :mod:`logging` ``warn()`` method removed in Python 3.13
alpha 1. Keep the deprecated ``warn()`` method in Python 3.13. Patch by Victor
Stinner.

0 comments on commit d659bc7

Please sign in to comment.