2019-09-17 14:17:29 +08:00
|
|
|
import re
|
|
|
|
|
|
|
|
|
2019-10-01 15:42:51 +08:00
|
|
|
class MonkeyLogParser(object):
|
2019-09-17 14:17:29 +08:00
|
|
|
|
|
|
|
def __init__(self, log_path):
|
|
|
|
self.log_path = log_path
|
|
|
|
self.log_contents = self.read_log()
|
|
|
|
|
|
|
|
def read_log(self):
|
|
|
|
with open(self.log_path, 'r') as log:
|
|
|
|
return log.read()
|
|
|
|
|
|
|
|
def print_errors(self):
|
2019-10-06 20:20:01 +08:00
|
|
|
errors = MonkeyLogParser.get_errors(self.log_contents)
|
|
|
|
print("Found {} errors:".format(len(errors)))
|
|
|
|
for error_line in errors:
|
2019-09-17 14:17:29 +08:00
|
|
|
print(error_line)
|
|
|
|
|
|
|
|
@staticmethod
|
|
|
|
def get_errors(log_contents):
|
|
|
|
searcher = re.compile(r"^.*:ERROR].*$", re.MULTILINE)
|
|
|
|
return searcher.findall(log_contents)
|
|
|
|
|
|
|
|
def print_warnings(self):
|
2019-10-06 20:20:01 +08:00
|
|
|
warnings = MonkeyLogParser.get_warnings(self.log_contents)
|
|
|
|
print("Found {} warnings:".format(len(warnings)))
|
|
|
|
for warning_line in warnings:
|
2019-09-17 14:17:29 +08:00
|
|
|
print(warning_line)
|
|
|
|
|
|
|
|
@staticmethod
|
|
|
|
def get_warnings(log_contents):
|
|
|
|
searcher = re.compile(r"^.*:WARNING].*$", re.MULTILINE)
|
|
|
|
return searcher.findall(log_contents)
|