次のコードでは、クラスは。を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();
}
}