Description
The lsst.log python interface is very close to the python logging interface (by design) but there are a few areas where there are incompatibilities that make it harder for people to not care which logger they are using. These incompatibilities cause cognitive load on developers and make the implementation of RFC-782 a little more untidy.
I would like to add the following to lsst.log
- A name property (getName() as a property)
- Adding the log.critical alias for log.fatal
- Adding getEffectiveLevel as an alias for getLevel
Python logging seems to prefer log.critical but has not actively deprecated log.fatal.
Additionally, I would like to deprecate lsst.log usage of log.getLevel, log.warn (python has formally deprecated this in favor of log.warning), and log.getName() in the python interface. These deprecations are happening for Task as part of the implementation of RFC-782 but it will be easier for people if they are told if they are using something that might need to be changed later on.
I'm hoping this is a fairly uncontroversial RFC given that we have long been moving towards always using python logging in Python code and lsst.log in C++ code and previously agreed that in RFC-782 and RFC-29.
+1
I would be in favor of going a step further and requiring the interface of lsst.log (as used for log messages) to be a subset of python logging to ensure compatibly.