Java日志记录:过滤器

时间:2020-01-09 10:36:44  来源:igfitidea点击:

我们可以在"记录器"上设置"过滤器"。 "过滤器"可以过滤出日志消息,这意味着确定消息是否被记录。过滤器由Java接口java.util.logging.Filter表示。

这是在Logger上设置Filter的示例:

Filter filter = new MyFilter();

logger1.setFilter(filter);

过滤器接口的定义如下:

public interface Filter {
    public boolean isLoggable(LogRecord record);
}

如果isLoggable()方法返回false,则不会记录LogRecord。如果该方法返回true,则LogRecord会转发到给定Logger的Handler。

要创建"过滤器",我们必须实现该接口。这是一个非常简单的示例实现:

public class MyFilter implements Filter {
    public boolean isLoggable(LogRecord record) {
        return false;
    }
}

该过滤器拒绝所有消息。当然,这不是一个非常有用的过滤器。我们可能会检查LogRecord并据此做出决定。