def test_logging_off(self): with patch('sys.stderr', new=StringIO()) as fake_stderr: logging = enable_logging(False) try: diagnosticism.set_program_name('myprog1') log(INFORMATIONAL, 'msg-1') self.assertEqual('', fake_stderr.getvalue()) finally: enable_logging(logging)
def test_message_as_lambda(self): with patch('sys.stderr', new=StringIO()) as fake_stderr: logging = enable_logging(True) try: diagnosticism.set_program_name('myprog1') log(INFORMATIONAL, lambda: 'msg-1') self.assertRegex( fake_stderr.getvalue(), r'^\[myprog1, \d+, \d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}\.\d{6}, .*INFORMATIONAL.*\]: msg-1' ) finally: enable_logging(logging)
def test_threshold_filter(self): with patch('sys.stderr', new=StringIO()) as fake_stderr: log_filter = set_log_filter(WARNING) try: diagnosticism.set_program_name('myprog1') log(DEBUG0, 'msg-debug0') log(INFORMATIONAL, 'msg-informational') log(NOTICE, 'msg-notice') log(WARNING, 'msg-warning') log(FAILURE, 'msg-failure') log(CRITICAL, 'msg-critical') log(ALERT, 'msg-alert') r = fake_stderr.getvalue().rstrip() lines = re.split('[\r\n]', r) self.assertEqual(4, len(lines)) self.assertRegex( lines[0], r'^\[myprog1, \d+, \d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}\.\d{6}, .*WARNING.*\]: msg-warning' ) self.assertRegex( lines[1], r'^\[myprog1, \d+, \d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}\.\d{6}, .*FAILURE.*\]: msg-failure' ) self.assertRegex( lines[2], r'^\[myprog1, \d+, \d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}\.\d{6}, .*CRITICAL.*\]: msg-critical' ) self.assertRegex( lines[3], r'^\[myprog1, \d+, \d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}\.\d{6}, .*ALERT.*\]: msg-alert' ) finally: set_log_filter(log_filter[0], log_filter[1])
def test_dict_filter_others_action_True(self): with patch('sys.stderr', new=StringIO()) as fake_stderr: filter_dict = { WARNING: True, FAILURE: False, CRITICAL: True, ALERT: True, VIOLATION: True, } log_filter = set_log_filter(filter_dict, True) try: diagnosticism.set_program_name('myprog1') log(DEBUG0, 'msg-debug0') log(INFORMATIONAL, 'msg-informational') log(NOTICE, 'msg-notice') log(WARNING, 'msg-warning') log(FAILURE, 'msg-failure') log(CRITICAL, 'msg-critical') log(ALERT, 'msg-alert') r = fake_stderr.getvalue().rstrip() lines = re.split('[\r\n]', r) self.assertEqual(6, len(lines)) self.assertRegex( lines[0], r'^\[myprog1, \d+, \d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}\.\d{6}, .*DEBUG0.*\]: msg-debug0' ) self.assertRegex( lines[1], r'^\[myprog1, \d+, \d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}\.\d{6}, .*INFORMATIONAL.*\]: msg-informational' ) self.assertRegex( lines[2], r'^\[myprog1, \d+, \d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}\.\d{6}, .*NOTICE.*\]: msg-notice' ) self.assertRegex( lines[3], r'^\[myprog1, \d+, \d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}\.\d{6}, .*WARNING.*\]: msg-warning' ) self.assertRegex( lines[4], r'^\[myprog1, \d+, \d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}\.\d{6}, .*CRITICAL.*\]: msg-critical' ) self.assertRegex( lines[5], r'^\[myprog1, \d+, \d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}\.\d{6}, .*ALERT.*\]: msg-alert' ) finally: set_log_filter(log_filter[0], log_filter[1])