[docs]defsetup_logging(verbosity:int,formats:dict[str,Any]|None=None)->None:"""Configure a proper logger based on verbosity and optional log formats. Args: verbosity: 0, 1, 2 formats: Keys (``info``, ``color``, ``debug``) which may override the associated default log formats. """ifformatsisNone:formats={}log_level=logging.INFOlog_format=formats.get("info",INFO_FORMAT)ifsys.stdout.isatty():log_format=formats.get("color",COLOR_FORMAT)ifverbosity>0:log_level=logging.DEBUGlog_format=formats.get("debug",DEBUG_FORMAT)ifverbosity<2:logging.getLogger("botocore").setLevel(logging.CRITICAL)hdlr=logging.StreamHandler()hdlr.setFormatter(ColorFormatter(log_format,ISO_8601))logging.root.addHandler(hdlr)logging.root.setLevel(log_level)