def __init__(self, default_level=logging.WARNING):
        # All loggers are an attr of self for tab completion in iPython
        # (with . replaced with _)
        self._loggerdict = logging.Logger.manager.loggerDict
        for name, logger in self._loggerdict.iteritems():
            attr = name.replace('.', '_')
            setattr(self, attr, logger)

        if len(logging.root.handlers) == 0:
            # The default level is INFO
            fmt='%(levelname)-7s | %(asctime)-23s | %(name)-8s | %(message)s'
            logging.basicConfig(format=fmt, level=default_level)
            logging.StreamHandler.emit = self._emit_wrap
A dumb and simple way to aggregate all loggers in a convenient way
dataset/ETHPy150Open angr/angr/angr/log.py/Loggers.__init__