The Task framework is an implementation of a fairly generic pipeline building block that has the possibility to be useful outside of the LSST pipeline software environment. One impediment to this is the dependency on lsst.log which requires a C++ compiler, depends on both utils and base packages and also uses the Log4CXX package. We propose that we switch the Task class (and pipe_base in general) to use the python logging package. This implies that we also change all python Task subclasses over to python logging.
To aid with the transition we will make an initial modification of Task to use a python logging subclass that implements compatibility methods (such as .getName() for .name and .trace() for .log(TRACE...)) which will start issuing deprecation messages. These can be fixed as related code is changed. Once we are confident that lsst.log is not in use in Tasks any more we can switch Task to using a standard python logger.
This builds on the decisions made in
RFC-29 where it was agreed that pure-python packages can use python logging and are not required to use lsst.log.