I'm not sure if this is the same as what fRiSi is advising, but this is how I solved the problem a few weeks back:
import logging
logger = logging.getLogger('my.product')
# Our logging will be shown with level at INFO & not with level at WARN
logger.setLevel(logging.WARN)
...
def update(self):
logger.info("starting banner search at %s " % self.context )
if IFolderish.providedBy(self.context):
logger.info("findBannerImageFor(self) %s " % self.context )
This won't show any logging as is, but you can just change the relevant line to: logger.setLevel(logging.INFO)
and you will see it all (& none of that transaction stuff)