Ответ 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