大可制作:QQ群:31564239(asp|jsp|php|mysql)

Java Gossip: 自订 Filter

预 设上,Handler的输出是根据log的层级来过滤、决定要不要输出讯息的,如果您想要自订输出讯息的层级或方法,则可以实现 java.util.logging.Filter接口:
package java.util.logging;
public interface Filter {
    public boolean isLoggable(LogRecord record);
}

一个使用的例子如下:
handler.setFilter(new Filter() {
            public boolean isLoggable(LogRecord logRecord) {
                 ....
                 return true;
            }
        });

Logger的log()方法会调用isLoggable()方法,传回true表示讯息必须输出,传回false表示讯息无需输出:
if (filter != null && !filter.isLoggable(record)) {
    return;
}