/** * 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); } } } }