我正在使用Java日志记录在我的文件中记录静态内存,并使用java.util.logging.FileHandler
来实现旋转日志。现在我的情况是我的经理想要保留初始记录文件并旋转文件的其余部分。有什么办法可以保留初始日志文件但是还可以旋转文件的其余部分。
public class TopProcessor extends Handler {
Handler handler;
public TopProcessor() throws IOException{
File dir = new File(System.getProperty("user.home"), "logs");
dir.mkdirs();
File fileDir = new File(dir,"metrics");
fileDir.mkdirs();
String pattern = "metrics-log-%g.json";
int count = 5;
int limit = 500000;
handler = new TopProcessorHandler(fileDir.getAbsolutePath()+File.separator+pattern, limit, count);
}
class TopProcessorHandler extends FileHandler{
public TopProcessorHandler(String pattern, int limit, int count)
throws IOException {
super(pattern, limit, count);
}
}
private void writeInformationToFile(String information) {
handler.publish(new LogRecord(Level.ALL, information));
}
@Override
public void close() {
handler.close();
}
@Override
public void flush() {
handler.flush();
}
@Override
public void publish(LogRecord record) {
handler.publish(record);
}
}
答案 0 :(得分:-1)
创建2个文件,一个初始日志文件和其他旋转日志文件。当您想要读取日志时,可以合并两个文件