package net.gnehzr.tnoodle.utils;
import java.util.logging.Level;
import java.util.logging.LogRecord;
@SuppressWarnings("serial")
public class TimedLogRecordStart extends LogRecord {
private long startMillis;
private String msg;
public TimedLogRecordStart(Level level, String msg) {
this(level, msg, System.currentTimeMillis());
}
public TimedLogRecordStart(Level level, String msg, long startMillis) {
super(level, "STARTED " + msg);
this.startMillis = startMillis;
this.msg = msg;
}
public TimedLogRecordEnd finishedNow() {
return finishedNow(null);
}
public TimedLogRecordEnd finishedNow(String extraMsg) {
return finishedAt(System.currentTimeMillis(), extraMsg);
}
public TimedLogRecordEnd finishedAt(long endMillis) {
return finishedAt(endMillis, null);
}
public TimedLogRecordEnd finishedAt(long endMillis, String extraMsg) {
return new TimedLogRecordEnd(getLevel(), msg, extraMsg, this.startMillis, endMillis);
}
}