parameters: (self, record)
docstring: Emit a record.
  
          If a formatter is specified, it is used to format the record.
          The record is then written to the stream with a trailing newline.  If
          exception information is present, it is formatted using
          traceback.print_exception and appended to the stream.  If the stream
          has an 'encoding' attribute, it is used to determine how to do the
          output to the stream.
docstring_summary: Emit a record.
docstring_tokens: Emit a record .
function: def emit(self, record):
          """
          Emit a record.
  
          If a formatter is specified, it is used to format the record.
          The record is then written to the stream with a trailing newline.  If
          exception information is present, it is formatted using
          traceback.print_exception and appended to the stream.  If the stream
          has an 'encoding' attribute, it is used to determine how to do the
          output to the stream.
          """
          try:
              msg = self.format(record)
              stream = self.stream
              fs = "%s\n"
              if not _unicode: #if no unicode support...
                  stream.write(fs % msg)
              else:
                  try:
                      if (isinstance(msg, unicode) and
                          getattr(stream, 'encoding', None)):
                          ufs = fs.decode(stream.encoding)
                          try:
                              stream.write(ufs % msg)
                          except UnicodeEncodeError:
                              #Printing to terminals sometimes fails. For example,
                              #with an encoding of 'cp1251', the above write will
                              #work if written to a stream opened or wrapped by
                              #the codecs module, but fail when writing to a
                              #terminal even when the codepage is set to cp1251.
                              #An extra encoding step seems to be needed.
                              stream.write((ufs % msg).encode(stream.encoding))
                      else:
                          stream.write(fs % msg)
                  except UnicodeError:
                      stream.write(fs % msg.encode("UTF-8"))
              self.flush()
          except (KeyboardInterrupt, SystemExit):
              raise
          except:
              self.handleError(record)
function_tokens: def emit ( self , record ) : try : msg = self . format ( record ) stream = self . stream fs = "%s\n" if not _unicode : #if no unicode support... stream . write ( fs % msg ) else : try : if ( isinstance ( msg , unicode ) and getattr ( stream , 'encoding' , None ) ) : ufs = fs . decode ( stream . encoding ) try : stream . write ( ufs % msg ) except UnicodeEncodeError : #Printing to terminals sometimes fails. For example, #with an encoding of 'cp1251', the above write will #work if written to a stream opened or wrapped by #the codecs module, but fail when writing to a #terminal even when the codepage is set to cp1251. #An extra encoding step seems to be needed. stream . write ( ( ufs % msg ) . encode ( stream . encoding ) ) else : stream . write ( fs % msg ) except UnicodeError : stream . write ( fs % msg . encode ( "UTF-8" ) ) self . flush ( ) except ( KeyboardInterrupt , SystemExit ) : raise except : self . handleError ( record )