在下面的代码中,类MyCustomeFormatter
扩展了Formatter
. 它还覆盖format
消息。什么时候调用这个方法?例如 :
logger.log(Level.INFO,"This is an info message")
语句将消息记录到指定的处理程序。但是什么时候overriden
调用该方法?
import java.util.Date;
import java.util.logging.Formatter;
import java.util.logging.LogRecord;
public class MyCustomFormatter extends Formatter {
public MyCustomFormatter() {
super();
}
public String format(LogRecord record) {
// Create a StringBuffer to contain the formatted record
// start with the date.
StringBuffer sb = new StringBuffer();
// Get the date from the LogRecord and add it to the buffer
Date date = new Date(record.getMillis());
sb.append(date.toString());
sb.append(" ");
// Get the level name and add it to the buffer
sb.append(record.getLevel().getName());
sb.append(" ");
// Get the formatted message (includes localization
// and substitution of paramters) and add it to the buffer
sb.append(formatMessage(record));
sb.append("\n");
return sb.toString();
}
}