code: def _configure_logging(self, logger_dict=None):
          
          self.log.debug("Configure logging")
  
          # Let's be sure, that for our log no handlers are registered anymore
          for handler in self.log.handlers:
              self.log.removeHandler(handler)
          if logger_dict is None:
              self.log.debug("No logger dictionary defined. Doing default logger configuration")
              formatter = logging.Formatter("%(name)s - %(asctime)s - [%(levelname)s] - %(module)s - %(message)s")
              stream_handler = logging.StreamHandler(sys.stdout)
              stream_handler.setLevel(logging.WARNING)
              stream_handler.setFormatter(formatter)
              self.log.addHandler(stream_handler)
              self.log.setLevel(logging.WARNING)
          else:
              self.log.debug("Logger dictionary defined. Loading dictConfig for logging")
              logging.config.dictConfig(logger_dict)
              self.log.debug("dictConfig loaded")
docs: Configures the logging module with a given dictionary, which in most cases was loaded from a configuration
          file.
  
          If no dictionary is provided, it falls back to a default configuration.
  
          See `Python docs
          <https://docs.python.org/3.5/library/logging.config.html#logging.config.dictConfig>`_ for more information.
  
          :param logger_dict: dictionary for logger.