pulpcore warnings are not seen by anyone
Currently warnings are implemented with
warnings.warn which is not being shown in the logs.
#python pointed me to this interesting section of the docs contrasting warning.warn() vs logging.warning() which suggests warning.warn is right, but then in the channel 3+ well-known python folks said that even though Python has DeprecatedWarning we shouldn't use it because in practice no one see's it. In order to see it users would have to run Python -Wall which is not practical or in some cases possible, e.g. we aren't in control of how the
/usr/bin/rq binary calls Python.
Ultimately our goal with these warnings was to have both users AND developers see them. To do that, the devs in #python recommended we switch to logging.warning().
- Create a new logger that can be used by plugin writers to log at the warning level.
- Port the existing usage to use this new deprecated logger.
- Update the plugin writer docs also.
Why another logger?¶
It allows a system, e.g. a downstream system, to disable the deprecation warnings while still retaining other normal application warnings.