Java如何在记录器处理程序上设置过滤器?
本示例为您提供了有关如何设置Filter记录器处理程序的示例。在下面的代码中,我们在Filter上实现FileHandler仅记录一条Level.SEVERE消息。其他级别的日志将不会记录到文件中。
package org.nhooo.example.util.logging;
import java.util.logging.*;
import java.io.IOException;
public class LoggerFilter {
public static void main(String[] args) {
Logger logger = Logger.getLogger(LoggerFilter.class.getName());
FileHandler handler = null;
try {
handler = new FileHandler("myapp.log");
handler.setFilter(new Filter() {
public boolean isLoggable(LogRecord record) {
//当LogRecord级别等于Level.SEVERE时
//消息被记录到文件中。
return record.getLevel().equals(Level.SEVERE);
}
});
} catch (IOException e) {
logger.log(Level.SEVERE, "Fail to create logger handler", e);
}
logger.addHandler(handler);
logger.info("Information message");
logger.warning("Warning message");
logger.severe("Severe message");
}
}