Java Logging: Filters

Jakob Jenkov
Last update: 2014-06-23

You can set a Filter on a Logger. A Filter can filter out log messages, meaning decide if the message gets logged or not. Filters are represented by the Java interface java.util.logging.Filter

Here is an example of setting a Filter on a Logger:

Filter filter = new MyFilter();

logger1.setFilter(filter);

The Filter interface is defined like this:

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

If the isLoggable() method returns false, the LogRecord is not logged. If the method returns true, the LogRecord is forwarded to the Handler's of the given Logger.

To create a Filter you must implement that interface. Here is a very simple example implementation:

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

This filter rejects all messages. Of course this is not a very useful filter. You would probably inspect the LogRecord and make a decision based on that. You can learn more about the LogRecord in the text on the LogRecord, and in the JavaDoc too.

For a discussion of how Filter's work within the Logger hierarchy, see the text on the Logger hierarchy.

Jakob Jenkov

Featured Videos

Java Generics

Java ForkJoinPool

P2P Networks Introduction



















Close TOC
All Tutorial Trails
All Trails
Table of contents (TOC) for this tutorial trail
Trail TOC
Table of contents (TOC) for this tutorial
Page TOC
Previous tutorial in this tutorial trail
Previous
Next tutorial in this tutorial trail
Next