code: def setUpLogger(name='generalLoggerName',dr='',lvl=20,addFH=True,addSH=True):
      
      logging.setLoggerClass(KMlogger)
      log = logging.getLogger(name)
      log_dict[name]=log
      log.addNewLvls()
      log.setLevel(1)
      # add the requested handlers to the log
      if addFH:
          log.addFileHandler(dr=dr,lvl=1)
      # make a stream handler
      if addSH:
          log.addStreamHandler(lvl)
      return log
docs: This function is utilized by getLogger to set up a new logging object.
      It will have the default name 'generalLoggerName' and stream handler level
      of 20 unless redefined in the function call.  
      NOTE:
      If a file handler is added, it will have the lowest severity level by 
      default (Currently no need for changing this setting, so it will stay 
      this way for now).  Remember that any messages will be passed up to any 
      parent loggers, so children do not always need their own file handler.
      
      Args:
          name (str): The name for the logging object and 
                      name.log will be the output file written to disk.
          lvl (int): The severity level of messages printed to the screen with 
                      the stream handler, default = 20.
          addFH (boolean): Add a file handler to this logger?  Default severity 
                           level for it will be 1, and it will be named following
                           name+'.log'.  Default = True.
          addSH (boolean): Add a stream handler to this logger? Severity set with 
                          the lvl argument.  Default = True.
      Returns:
          log (KMlogger object): A KMlogger object that was freshly 
                                     instantiated.