old_contents: import logging
  import coloredlogs
  
  import sys
  
  from spotdl.command_line.core import Spotdl
  from spotdl.command_line.arguments import get_arguments
  from spotdl.command_line.exceptions import ArgumentError
  
  # hardcode loglevel for dependencies so that they do not spew generic
  # log messages along with spotdl.
  for module in ("urllib3", "spotipy", "pytube"):
      logging.getLogger(module).setLevel(logging.CRITICAL)
  
  coloredlogs.DEFAULT_FIELD_STYLES = {
      "levelname": {"bold": True, "color": "yellow"},
      "name": {"color": "blue"},
      "lineno": {"color": "magenta"},
  }
  
  
  def set_logger(level):
      if level == logging.DEBUG:
          fmt = "%(levelname)s:%(name)s:%(lineno)d:\n%(message)s\n"
      else:
          fmt = "%(levelname)s: %(message)s"
      logging.basicConfig(format=fmt, level=level)
      logger = logging.getLogger(name=__name__)
      coloredlogs.install(level=level, fmt=fmt, logger=logger)
      return logger
  
  
  def main():
      try:
          argument_handler = get_arguments()
      except ArgumentError as e:
          logger = set_logger(logging.INFO)
          logger.info(e.args[0])
          sys.exit(5)
  
      logging_level = argument_handler.get_logging_level()
      logger = set_logger(logging_level)
      try:
          spotdl = Spotdl(argument_handler)
      except ArgumentError as e:
          argument_handler.parser.error(e.args[0])
      try:
          spotdl.match_arguments()
      except KeyboardInterrupt as e:
          print("", file=sys.stderr)
          logger.exception(e)
          sys.exit(2)
  
  
  if __name__ == "__main__":
      main()
  
  
new_contents: import logging
  import coloredlogs
  
  import sys
  
  from spotdl.command_line.core import Spotdl
  from spotdl.command_line.arguments import get_arguments
  from spotdl.command_line.exceptions import ArgumentError
  
  # hardcode loglevel for dependencies so that they do not spew generic
  # log messages along with spotdl.
  for module in ("chardet", "urllib3", "spotipy", "pytube"):
      logging.getLogger(module).setLevel(logging.CRITICAL)
  
  coloredlogs.DEFAULT_FIELD_STYLES = {
      "levelname": {"bold": True, "color": "yellow"},
      "name": {"color": "blue"},
      "lineno": {"color": "magenta"},
  }
  
  
  def set_logger(level):
      if level == logging.DEBUG:
          fmt = "%(levelname)s:%(name)s:%(lineno)d:\n%(message)s\n"
      else:
          fmt = "%(levelname)s: %(message)s"
      logging.basicConfig(format=fmt, level=level)
      logger = logging.getLogger(name=__name__)
      coloredlogs.install(level=level, fmt=fmt, logger=logger)
      return logger
  
  
  def main():
      try:
          argument_handler = get_arguments()
      except ArgumentError as e:
          logger = set_logger(logging.INFO)
          logger.info(e.args[0])
          sys.exit(5)
  
      logging_level = argument_handler.get_logging_level()
      logger = set_logger(logging_level)
      try:
          spotdl = Spotdl(argument_handler)
      except ArgumentError as e:
          argument_handler.parser.error(e.args[0])
      try:
          spotdl.match_arguments()
      except KeyboardInterrupt as e:
          print("", file=sys.stderr)
          logger.exception(e)
          sys.exit(2)
  
  
  if __name__ == "__main__":
      main()
  
  
subject: Disable logs from chardet