class Analyzer: """Operate on log entries, one at a time""" def __init__(self, settings: LogSettings) -> None: self.settings: LogSettings = settings def process(self, entry: dict) -> bool: """ Process an entry :param entry: Entry to process :return: True if consumed, False for further analysis """ raise NotImplementedError() def result(self, store: ResultStore, name=None) -> None: raise NotImplementedError() def name(self) -> str: return self.__name__