code: def Process(self, parser_mediator, date_time, syslog_tokens, **kwargs):
      
      body = syslog_tokens.get('body', None)
      if not body:
        raise AttributeError('Missing required attribute: body')
  
      for key, grammar in iter(self.MESSAGE_GRAMMARS):
        try:
          tokens = grammar.parseString(body)
          syslog_tokens.update(tokens.asDict())
          self.ParseMessage(parser_mediator, key, date_time, syslog_tokens)
          return
  
        except pyparsing.ParseException:
          pass
  
      raise errors.WrongPlugin('Unable to create event from: {0:s}'.format(body))
docs: Processes the data structure produced by the parser.
  
      Args:
        parser_mediator (ParserMediator): mediates the interactions between
            parsers and other components, such as storage and abort signals.
        date_time (dfdatetime.DateTimeValues): date and time values.
        syslog_tokens (dict[str, str]): names of the fields extracted by the
            syslog parser and the matching grammar, and values are the values of
            those fields.
  
      Raises:
        AttributeError: If the syslog_tokens do not include a 'body' attribute.
        WrongPlugin: If the plugin is unable to parse the syslog tokens.