[Python-Dev] Backwards Incompatibility in logging module in 3.4? (original) (raw)
Victor Stinner victor.stinner at gmail.com
Fri Jun 13 01:45:13 CEST 2014
- Previous message: [Python-Dev] Backwards Incompatibility in logging module in 3.4?
- Next message: [Python-Dev] Backwards Incompatibility in logging module in 3.4?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Hi,
2014-06-13 0:38 GMT+02:00 Don Spaulding <donspauldingii at gmail.com>:
Is this a bug or an intentional break? If it's the latter, shouldn't this at least be mentioned in the "What's new in Python 3.4" document?
IMO the change is intentional. The previous behaviour was not really expected.
Python 3.3 documentation is explicit: the result is a string and the input paramter is an integer. logging.getLevelName("DEBUG") was more an implementation
https://docs.python.org/3.3/library/logging.html#logging.getLevelName "Returns the textual representation of logging level lvl. If the level is one of the predefined levels CRITICAL, ERROR, WARNING, INFO or DEBUG then you get the corresponding string. If you have associated levels with names using addLevelName() then the name you have associated with lvl is returned. If a numeric value corresponding to one of the defined levels is passed in, the corresponding string representation is returned. Otherwise, the string ‘Level %s’ % lvl is returned."
If your code uses something like logger.setLevel(logging.getLevelName("DEBUG")), use directly logger.setLevel("DEBUG").
This issue was fixed in OpenStack with this change: https://review.openstack.org/#/c/94028/6/openstack/common/log.py,cm https://review.openstack.org/#/c/94028/6
Victor
- Previous message: [Python-Dev] Backwards Incompatibility in logging module in 3.4?
- Next message: [Python-Dev] Backwards Incompatibility in logging module in 3.4?
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]