def test_file(self): lm = LogManager() lm.add_format('test', logging.Formatter('%(asctime)s TEST - %(levelname)s - %(message)s')) logger = lm.add_file_logger('log_file.txt', format_name='test') logger.error("Test1") logger.warning("Test2") logger.debug("Test3") with open('log_file.txt', 'r') as f: line = f.readlines() self.assertEquals(len(line), 2) self.assertTrue(line[0].find("TEST - ERROR - Test1") != -1) self.assertTrue(line[1].find("TEST - WARNING - Test2") != -1) lm.add_format('test2', logging.Formatter(fmt='TEST2 - %(asctime)s - %(levelname)s - %(message)s', datefmt='%Y'), '%Y', 1) current_year = str(datetime.datetime.now().year) logger = lm.add_file_logger('log_file2.txt', format_name='test2') logger.error("Test1") logger.warning("Test2") logger.debug("Test3") with open('log_file2.txt', 'r') as f: line = f.readlines() self.assertEquals(len(line), 2) self.assertTrue(line[0].find("TEST2 - " + str(current_year) + " - ERROR - Test1") != -1) self.assertTrue(line[1].find("TEST2 - " + str(current_year) + " - WARNING - Test2") != -1)
def test_multiple(self): lm = LogManager() lm.add_format('test', logging.Formatter('%(asctime)s TEST - %(levelname)s - %(message)s')) logger1 = lm.add_file_logger('log_multiple.txt', format_name='test') logger2 = lm.add_file_logger('log_multiple2.txt', format_name='test', log_level=logging.DEBUG) logger1.error("Test1") logger1.warning("Test2") logger1.debug("Test3") logger2.error("Test1b") logger2.warning("Test2b") logger2.debug("Test3b") with open('log_multiple.txt', 'r') as f: line = f.readlines() self.assertEquals(len(line), 2) self.assertTrue(line[0].find("TEST - ERROR - Test1") != -1) self.assertTrue(line[1].find("TEST - WARNING - Test2") != -1) with open('log_multiple2.txt', 'r') as f: line = f.readlines() self.assertEquals(len(line), 3) self.assertTrue(line[0].find("TEST - ERROR - Test1b") != -1) self.assertTrue(line[1].find("TEST - WARNING - Test2b") != -1) self.assertTrue(line[2].find("TEST - DEBUG - Test3b") != -1)
def test_tee(self): lm = LogManager() lm.add_format('test', logging.Formatter('%(asctime)s TEST - %(levelname)s - %(message)s')) logger = lm.add_tee_logger('log_tee.txt', name='tee', file_overwrite=True, file_log_level=logging.DEBUG, stdout_log_level=logging.WARNING, file_format_name='test', stdout_format_name='test') logger.error("Test1") logger.warning("Test2") logger.debug("Test3") with open('log_tee.txt', 'r') as f: line = f.readlines() self.assertEquals(len(line), 3) self.assertTrue(line[0].find("TEST - ERROR - Test1") != -1) self.assertTrue(line[1].find("TEST - WARNING - Test2") != -1) self.assertTrue(line[2].find("TEST - DEBUG - Test3") != -1)
def test_formats(self): lm = LogManager() lm.add_format('test', logging.Formatter('%(asctime)s TEST - %(levelname)s - %(message)s')) try: lm.get_format('test_none') except ObjectNotFoundException: pass else: self.assertTrue(False, 'Getting wrong format failed to raise ObjectNotFoundException') try: lm.add_format('test', logging.Formatter('TEST')) except ObjectAlreadyAddedException: pass else: self.assertTrue(False, 'Double-adding format failed to raise ObjectAlreadyAddedException') self.assertIsNotNone(lm.get_format('test'))
def test_stdout(self): lm = LogManager() lm.add_format('test', logging.Formatter('%(asctime)s TEST - %(levelname)s - %(message)s')) logger = lm.add_stdout_logger(format_name='test') logger.info("Test!") self.assertTrue(True)