class_docstr: Syslog record parser
class_docstr_tok: ["Syslog","record","parser"]
docstr: Parse a syslog string into a dictionary
  
  Matches syslog events with the following format:
      timestamp(Month DD HH:MM:SS) host application: message
  Example(s):
      Jan 10 19:35:33 vagrant-ubuntu-trusty-64 sudo: session opened for root
      Jan 10 19:35:13 vagrant-ubuntu-precise-32 ssh[13941]: login for mike
  
  Args:
      data (str): Data to be parsed
  
  Returns:
      list<tuple>: List of tuples with records and their parsing status
          Examples: [({'key': 'value'}, True)]
docstr_tok: ["Parse","a","syslog","string","into","a","dictionary","Matches","syslog","events","with","the","following","format",":","timestamp","(","Month","DD","HH",":","MM",":","SS",")","host","application",":","message","Example","(","s",")",":","Jan","10","19:35:33","vagrant-ubuntu-trusty-64","sudo",":","session","opened","for","root","Jan","10","19:35:13","vagrant-ubuntu-precise-32","ssh","[","13941","]",":","login","for","mike","Args",":","data","(","str",")",":","Data","to","be","parsed","Returns",":","list","<","tuple",">",":","List","of","tuples","with","records","and","their","parsing","status","Examples",":","[","(","{","'key","'",":","'value","'","}",",","True",")","]"]
code: def _parse(self, data):
      """Parse a syslog string into a dictionary
  
      Matches syslog events with the following format:
          timestamp(Month DD HH:MM:SS) host application: message
      Example(s):
          Jan 10 19:35:33 vagrant-ubuntu-trusty-64 sudo: session opened for root
          Jan 10 19:35:13 vagrant-ubuntu-precise-32 ssh[13941]: login for mike
  
      Args:
          data (str): Data to be parsed
  
      Returns:
          list<tuple>: List of tuples with records and their parsing status
              Examples: [({'key': 'value'}, True)]
      """
      match = self._regex.search(data)
      if not match:
          return [(data, False)]
  
      return [(match.groupdict(), True)]
  
imports: from abc import ABCMeta, abstractmethod
  from copy import deepcopy
  import csv
  from fnmatch import fnmatch
  import json
  import logging
  import re
  import io
  import jmespath
  from streamalert.shared.logger import get_logger
label_desc: Use image node_id 1 for calling the SyslogParser obj's underlying member method code with example usage: obj._parse(data) and returns: list, list