logging.warn
已被弃用,您应该使用 logging.warning
。
在 Python 3.3 之前,
logging.warn
和 logging.warning
是相同的函数,但 logging.warn
没有记录,如 Python bug 跟踪器中的已解决问题中所述 http://bugs.python.org/issue13235 :
保留这是故意的。原始代码(在并入 Python 之前)有 warn(),保留它是为了向后兼容。文档引用 warning() 因为这是每个人都应该使用的。方法名称映射到相应日志记录级别名称的小写字母。
logging.warn()
是为了向后兼容,但添加了弃用警告。 logging.warning()
是每个人都应该使用的。
在 Python 3.3 之前,它们是相同的,但是
warn
已弃用:
>>> import logging
>>> logging.warn is logging.warning
True
现在它们不同了,
.warn
当然仍然被弃用
❯ python3
Python 3.12.2 (main, Feb 6 2024, 20:19:44) [Clang 15.0.0 (clang-1500.1.0.2.5)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import logging
>>> logging.warn
<function warn at 0x104d625c0>
>>> logging.warn is logging.warning
False
>>> logging.warning("foo")
WARNING:root:foo
>>> logging.warn("foo")
<stdin>:1: DeprecationWarning: The 'warn' function is deprecated, use 'warning' instead
WARNING:root:foo