Примеры на http://docs.python.org/2/howto/logging.html используют как warn
и warning
.
В чем разница между logging.warn и logging.warning в Python?
Ответ 1
logging.warn
устарел с Python 3.3, и вы должны использовать logging.warning
.
До Python 3.3, logging.warn
и logging.warning
были той же функцией, но logging.warn
не был документирован, как отмечено в закрытой проблеме в Python tuger http://bugs.python.org/issue13235:
Это преднамеренно. Исходный код (до включения в Python) имел warn(), который сохранялся для обратной совместимости. Документы относятся к предупреждению(), потому что это то, что все должны использовать. Имена методов отображаются в нижнем регистре соответствующего имени уровня ведения журнала.
logging.warn()
хранился для обратной совместимости, но было добавлено предупреждение об устаревании. logging.warning()
- это то, что все должны использовать.
Ответ 2
До Python 3.3 они одинаковы, однако warn
устарело:
>>> import logging
>>> logging.warn is logging.warning
True