logparse.formatting.Section object.
"""
- def __init__(self, name=None, path=None, info=None, deprecated=False):
+ def __init__(self, name=None, path=None, info=None, deprecated=False, successor=""):
"""
The following variables can be set to display information about the
parser. The object `self.logger` can be used as for outputting messages
self.info = dict(info) if info else None
self.logger = logging.getLogger(__name__)
self.deprecated = deprecated
+ self.successor = successor
def load(self):
"""
parser_module = spec.loader.load_module(spec.name)
return self._validate_module(parser_module)
except Exception as e:
- logger.debug("Couldn't find parser {0} in {1}: {2}".format(pattern, self.path, str(e)))
+ logger.debug("Couldn't find parser {0} in {1}".format(pattern, self.path))
return None
def _search_default(self, pattern):
if None in get_type_hints(c):
logger.warning("Parser class {0} in {1} contains a null-returning parse_log() method".format(c.__class__.__name__, c.__file__))
continue
+ parser_obj = c()
+ if parser_obj.deprecated:
+ logger.warning("Parser {0} is deprecated - use {1} instead".format(parser_obj.name, parser_obj.successor))
logger.debug("Found parser {0}.{1}".format(c.__module__, c.__class__.__name__))
available_parsers.append(c())