code: def parse_line(self, line):
          
          match = re.findall(self.date_regex, line)
          if match:
              fields = self.fields
          elif self.backup_format_regex and not match:
              match = re.findall(self.backup_date_regex, line)
              fields = self.backup_fields
  
          if match:
              entry = {}
              entry['raw_text'] = line
              entry['parser'] = self.name
  
              matchlist = list(zip(fields, match[0]))
              for f, v in matchlist:
                  entry[f] = v
  
              if 'date_stamp' in entry.keys():
                  if self.datestamp_type == 'standard':
                      entry = logdissect.utils.convert_standard_datestamp(entry)
                  elif self.datestamp_type == 'iso':
                      entry = logdissect.utils.convert_iso_datestamp(
                              entry)
                  elif self.datestamp_type == 'webaccess':
                      entry = logdissect.utils.convert_webaccess_datestamp(
                              entry)
                  elif self.datestamp_type == 'nodate':
                      entry, self.datedata = \
                              logdissect.utils.convert_nodate_datestamp(
                              entry, self.datedata)
                  elif self.datestamp_type == 'unix':
                      entry = logdissect.utils.convert_unix_datestamp(
                              entry)
              if self.datestamp_type == 'now':
                  entry = logdissect.utils.convert_now_datestamp(
                          entry)
  
              entry = self.post_parse_action(entry)
              return entry
  
          else:
              return None
docs: Parse a line into a dictionary