code: def get_logging_file(maximum_logging_files=10, retries=2 ^ 16):
      
  
      logging_directory = os.path.join(RuntimeGlobals.user_application_data_directory, Constants.logging_directory)
      for file in sorted(foundations.walkers.files_walker(logging_directory),
                         key=lambda y: os.path.getmtime(os.path.abspath(y)), reverse=True)[maximum_logging_files:]:
          try:
              os.remove(file)
          except OSError:
              LOGGER.warning(
                  "!> {0} | Cannot remove '{1}' file!".format(__name__, file, Constants.application_name))
  
      path = None
      for i in range(retries):
          path = os.path.join(RuntimeGlobals.user_application_data_directory,
                              Constants.logging_directory,
                              Constants.logging_file.format(foundations.strings.get_random_sequence()))
          if not os.path.exists(path):
              break
  
      if path is None:
          raise umbra.exceptions.EngineConfigurationError(
              "{0} | Logging file is not available, '{1}' will now close!".format(__name__, Constants.application_name))
  
      LOGGER.debug("> Current Logging file: '{0}'".format(path))
  
      return path
docs: Returns the logging file path.
  
      :param maximum_logging_files: Maximum allowed logging files in the logging directory.
      :type maximum_logging_files: int
      :param retries: Number of retries to generate a unique logging file name.
      :type retries: int
      :return: Logging file path.
      :rtype: unicode