See #124. There is bug in Bayeux (and Yamlish also) library that it doesn't configure its own logger for logging, so when you import tap library into taskotron, every output log is shown twice.
tap
Quirky fix was found in #124, but better solution is to fix this problem upstream.
This ticket had assigned some Differential requests: D117 D106
I have created patches for yamlish and bayeux ([[ http://jsedlak.fedorapeople.org/bayeux_logging_fix.patch | Bayeux patch ]], [[ http://jsedlak.fedorapeople.org/yamlish_logging.patch | Yamlish patch ]]) but the problem lies much more deeper. When I applied these two patches, enabled propagation and run upgradepath task via runtask, it showed everything twice. When I did it through upgradepath.py script itself, it was without problem. The thing is that upgradepath.py calls logging.basicConfig() immediately after importing logging, so it adds default root handler (for printing to stdout), but running through runner.py enables second handler (for printing to stdout).
runtask
upgradepath.py
logging.basicConfig()
runner.py
I think that correct behaviour in this case is:
basicConfig()
I think that correct behaviour in this case is: If upgradepath.py knows that it is run as a main script, it should call basicConfig() If upgradepath.py is run through runner.py, it shouldn't configure any handler and let taskotron configure it itself
Pushed to the upgradepath repo. Carry on, soldier.