From Gossip@caterpillar

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