code: def setup_logging(verbose=0, colors=False, name=None):
      
      root_logger = logging.getLogger(name)
      root_logger.setLevel(logging.DEBUG if verbose > 0 else logging.INFO)
      formatter = ColorFormatter(verbose > 0, colors)
      if colors:
          colorclass.Windows.enable()
  
      handler_stdout = logging.StreamHandler(sys.stdout)
      handler_stdout.setFormatter(formatter)
      handler_stdout.setLevel(logging.DEBUG)
      handler_stdout.addFilter(type('', (logging.Filter,), {'filter': staticmethod(lambda r: r.levelno <= logging.INFO)}))
      root_logger.addHandler(handler_stdout)
  
      handler_stderr = logging.StreamHandler(sys.stderr)
      handler_stderr.setFormatter(formatter)
      handler_stderr.setLevel(logging.WARNING)
      root_logger.addHandler(handler_stderr)
docs: Configure console logging. Info and below go to stdout, others go to stderr.
  
      :param int verbose: Verbosity level. > 0 print debug statements. > 1 passed to sphinx-build.
      :param bool colors: Print color text in non-verbose mode.
      :param str name: Which logger name to set handlers to. Used for testing.