web-dev-qa-db-fra.com

Quelle est la différence entre logging.warn et logging.warning en Python?

Les exemples sur http://docs.python.org/2/howto/logging.html utilisent à la fois warn et warning.

52
Tallmad

logging.warn Est obsolète depuis Python 3.3 et vous devez utiliser logging.warning.

Avant Python 3.3, logging.warn Et logging.warning Étaient la même fonction, mais logging.warn N'était pas documenté, comme indiqué dans un problème fermé dans le Python bug tracker http://bugs.python.org/issue13235 :

C'est délibéré. Le code d'origine (avant l'incorporation dans Python) avait warn (), qui a été conservé pour une compatibilité descendante. Les documents font référence à warning () car c'est ce que tout le monde est censé utiliser. Les noms de méthode sont mappés sur la minuscule du nom de niveau de journalisation approprié.

logging.warn() a été conservé pour des raisons de compatibilité descendante mais n avertissement de dépréciation a été ajouté . logging.warning() est ce que tout le monde est censé utiliser.

50
siebz0r

Avant Python 3.3, ils sont identiques, cependant warn est déconseillé:

>>> import logging
>>> logging.warn is logging.warning
True
27
jamylak