Я использовал приведенный ниже код для настройки ведения журнала.
public Boolean configureLogPath(String logPath, String level, String logComponents, int logFileSize,
int logFileCount) {
int logFileSizeInKbs = logFileSize * 1000;
Boolean result = false;
String[] splitComponents = logComponents.split(",");
for (String component : splitComponents) {
loggableComponents.add(component);
}
switch (level) {
case "info":
LOGGER.setLevel(Level.INFO);
break;
case "severe":
LOGGER.setLevel(Level.SEVERE);
break;
case "debug":
LOGGER.setLevel(Level.CONFIG);
break;
case "off":
LOGGER.setLevel(Level.OFF);
break;
default:
LOGGER.setLevel(Level.SEVERE);
}
try {
simpleFormatter = new SimpleFormatter();
logFileHandler = new FileHandler(logPath, logFileSizeInKbs, logFileCount);
logFileHandler.setFormatter(simpleFormatter);
LOGGER.setFilter(filter);
LOGGER.addHandler(logFileHandler);
result = true;
} catch (SecurityException e1) {
result = false;
LOGGER.log(Level.SEVERE, "Security exception when reading log file" + e1);
} catch (IOException e1) {
result = false;
LOGGER.log(Level.SEVERE, "IO Exception when reading log file" + e1);
}
return result;
}
Но хотя я задал соответствующие параметры в FileHandler для ротации журналов, старые файлы журналов все еще остаются. Является ли это поведением ведения журнала утилиты или я могу что-то сделать, чтобы удалить старые файлы во время ротации?