Looking at the docstring of the hasHandler method suggests it searches up the logger's parents until a handler is found or it reaches top level. If you wish hasHandlers to only reflects presense of handlers at your logger's level, then setting logger.propagte = False should suffice.