This is a small change because PSF determiners were already configurables and were accessed using a registry (just as they are now). The new base class is BasePsfDeterminerTask (with associated config BasePsfDeterminerConfig and the two existing PSF determiners now inherit from it and get their log from it. I found very few config fields that were shared between the existing PSF determiners (not even the list of bad flags, which surprised me).
In changing the PSF determiners to use the standard log I found a Debug style log; these simply negate the level, so I changed those calls to self.log.log(-N, ... where N was the original level.
I also changed MeasurePsfTask to use makeSubtask to make the PSF determiner, since it can. This has no effect visible to users, but standardizes the code a bit. I also updated the documentation in MeasurePsfTask a bit.
Note: the branches on meas_astrom and obs_lsstSim have no changes from master and are only there to hide older commits from lsstsw and Jenkins. Simply deleting the branches is not sufficient (a known bug in lsstsw).