I'm trying to setup a logger with 2 handlers, i'm setting the handlers levels, and also the logger level, the thing is that one of the handlers which has the same level as the logger is keep getting all the messages, the second one is getting the relevant messages. Here is my code:
logger = logging.getLogger('test_logger')
logger.setLevel(logging.DEBUG)
handler1 = logging.FileHandler('logger_debug.log')
handler1.setLevel(logging.DEBUG)
handler2 = logging.FileHandler('logger_error.log')
handler2.setLevel(logging.ERROR)
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
handler1.setFormatter(formatter)
handler2.setFormatter(formatter)
logger.addHandler(handler1)
logger.addHandler(handler2)
logger.debug('debug message')
logger.error('error message')
logger.info('info message')