'See if this logger has any handlers configured.
Loop through all handlers for this logger and its parents in the
logger hierarchy. Return True if a handler was found, else False.
Stop searching up the hierarchy whenever a logger with the "propagate"
attribute set to zero is found - that will be the last logger which
is checked for the existence of handlers.'

def hasHandlers(self):

    c = self
    rv = False
    while c:
        if c.handlers:
            rv = True
            break
        if (not c.propagate):
            break
        else:
            c = c.parent
    return rv
