0
我使用下面的代碼來配置我的日誌記錄。Util日誌記錄不會刪除舊日誌文件輪流
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爲要旋轉的日誌,舊日誌文件仍然存在。這是實用程序日誌記錄的行爲還是有什麼我可以做的,以在旋轉期間刪除舊文件?
如果我手動關閉日誌時條件刪除文件不會這麼做嗎?這就是說,如果我的日誌還沒有達到輪換數量,並且如果我想停止日誌記錄,我會將當前日誌的日誌級別設置爲「關閉」。那麼這不會刪除當前正在使用的日誌嗎? – mayooran
對於新構建的FileHandler來說。這並不難,因爲您可以將級別設置爲2147483646而不是OFF。或者可以修改FileHandler以跟蹤它不是第一次調用。 – jmehrens