docs: def stderrHandler(level, object, category, file, line, message):
      """
      A log handler that writes to stderr.
  
      @type level:    string
      @type object:   string (or None)
      @type category: string
      @type message:  string
      """
  
      o = ""
      if object:
          o = '"' + object + '"'
  
      where = "(%s:%d)" % (file, line)
  
      # level   pid     object   cat      time
      # 5 + 1 + 7 + 1 + 32 + 1 + 17 + 1 + 15 == 80
      safeprintf(sys.stderr, '%s [%5d] %-32s %-17s %-15s ',
                 getFormattedLevelName(level), os.getpid(), o, category,
                 time.strftime("%b %d %H:%M:%S"))
  
      try:
          safeprintf(sys.stderr, '%-4s %s %s\n', "", message, where)
      except UnicodeEncodeError:
          # this can happen if message is a unicode object, convert it back into
          # a string using the UTF-8 encoding
          message = message.encode('UTF-8')
          safeprintf(sys.stderr, '%-4s %s %s\n', "", message, where)
  
      sys.stderr.flush()