def setUp(self): BasicPySlotCase.setUp(self) # Create the logger level = logging.DEBUG self.logger = logging.getLogger(name='test') self.logger.setLevel(level) # Create the handler self.leap_handler = LeapLogHandler() self.leap_handler.setLevel(level) self.logger.addHandler(self.leap_handler)
def create_logger(debug=False, logfile=None, replace_stdout=True): """ Create the logger and attach the handlers. :param debug: the level of the messages that we should log :type debug: bool :param logfile: the file name of where we should to save the logs :type logfile: str :return: the new logger with the attached handlers. :rtype: logging.Logger """ # TODO: get severity from command line args if debug: level = logging.DEBUG else: level = logging.WARNING # Create logger and formatter logger = logging.getLogger(name='leap') logger.setLevel(level) formatter = logging.Formatter(LOG_FORMAT) # Console handler try: import coloredlogs console = coloredlogs.ColoredStreamHandler(level=level) except ImportError: console = logging.StreamHandler() console.setLevel(level) console.setFormatter(formatter) using_coloredlog = False else: using_coloredlog = True if using_coloredlog: replace_stdout = False silencer = SelectiveSilencerFilter() console.addFilter(silencer) logger.addHandler(console) logger.debug('Console handler plugged!') # LEAP custom handler leap_handler = LeapLogHandler() leap_handler.setLevel(level) leap_handler.addFilter(silencer) logger.addHandler(leap_handler) logger.debug('Leap handler plugged!') # File handler if logfile is not None: logger.debug('Setting logfile to %s ', logfile) fileh = logging.FileHandler(logfile) fileh.setLevel(logging.DEBUG) fileh.setFormatter(formatter) fileh.addFilter(silencer) logger.addHandler(fileh) logger.debug('File handler plugged!') if replace_stdout: replace_stdout_stderr_with_logging(logger) return logger