code: def log_level_from_string(str_level):
      
      levels = {
          'CRITICAL': logging.CRITICAL,
          'ERROR': logging.ERROR,
          'WARNING': logging.WARNING,
          'INFO': logging.INFO,
          'DEBUG': logging.DEBUG,
      }
      try:
          return levels[str_level.upper()]
      except KeyError:
          pass
      except AttributeError:
          if str_level in [logging.DEBUG, logging.INFO, logging.WARNING,
                           logging.ERROR, logging.CRITICAL]:
              return str_level
      return logging.NOTSET
docs: Returns the proper log level core based on a given string
  
      :param str_level: Log level string
      :return: The log level code