Example #1
0
    /**
     * Will move: messages.log.1 -> messages.log.2 messages.log -> messages.log.1
     *
     * <p>Will delete (if exists): messages.log.2
     */
    private void moveAwayFile() {
      File oldLogFile =
          new File(file.getParentFile(), file.getName() + "." + NUMBER_OF_OLD_LOGS_TO_KEEP);
      if (fileSystem.fileExists(oldLogFile)) {
        fileSystem.deleteFile(oldLogFile);
      }

      for (int i = NUMBER_OF_OLD_LOGS_TO_KEEP - 1; i >= 0; i--) {
        oldLogFile = new File(file.getParentFile(), file.getName() + (i == 0 ? "" : ("." + i)));
        if (fileSystem.fileExists(oldLogFile)) {
          try {
            fileSystem.renameFile(
                oldLogFile, new File(file.getParentFile(), file.getName() + "." + (i + 1)));
          } catch (IOException e) {
            throw new RuntimeException(e);
          }
        }
      }
    }