class_docstr: Stream handler allowing matching and recording
  
  This handler has two useful optional additions:
  
      1. Recording emitted messages.
      2. Performing regexp substring matching.
  
  Prepending of traceback information is done in _VispyFormatter.
class_docstr_tok: ["Stream","handler","allowing","matching","and","recording","This","handler","has","two","useful","optional","additions",":","1",".","Recording","emitted","messages",".","2",".","Performing","regexp","substring","matching",".","Prepending","of","traceback","information","is","done","in","_VispyFormatter","."]
docstr: Log message emitter that optionally matches and/or records
docstr_tok: ["Log","message","emitter","that","optionally","matches","and\/or","records"]
code: def _vispy_emit_match_andor_record(self, record):
      """Log message emitter that optionally matches and/or records"""
      test = record.getMessage()
      match = self._vispy_match
      if (
          match is None
          or re.search(match, test)
          or re.search(match, _get_vispy_caller())
      ):
          if self._vispy_emit_record:
              fmt_rec = self._vispy_formatter.format(record)
              self._vispy_emit_list.append(fmt_rec)
          if self._vispy_print_msg:
              return logging.StreamHandler.emit(self, record)
          else:
              return
  
imports: import base64
  import logging
  import sys
  import inspect
  import re
  import traceback
  import json
  from functools import partial
  import numpy
label_desc: Use image node_id 2 for calling the _VispyStreamHandler obj's underlying member method code with example usage: obj._vispy_emit_match_andor_record(record) and returns: logging