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"); } }