From Gossip@Openhome

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也可以設定過濾器,訊息會先經過Logger的過濾器過濾,再經過Handler的過濾器過濾。Logger的log()方法也會呼叫isLoggable()方法,傳回true表示訊息必須輸出,傳回false表示訊息無需輸出:
if (filter != null && !filter.isLoggable(record)) {
    return;
}