package io.dropwizard.logging.filter; import ch.qos.logback.classic.Level; import ch.qos.logback.core.filter.Filter; import ch.qos.logback.core.spi.DeferredProcessingAware; import ch.qos.logback.core.spi.FilterReply; /** * Factory for building a logback {@link Filter} that will always defer to the next Filter. * @param <E> The type of log event */ public class NullLevelFilterFactory<E extends DeferredProcessingAware> implements LevelFilterFactory<E> { /** * Creates a {@link Filter} that will always defer to the next Filter in the chain, if any. * @param threshold the parameter is ignored * @return a {@link Filter} with a {@link Filter#decide(Object)} method that will always return {@link FilterReply#NEUTRAL}. */ @Override public Filter<E> build(Level threshold) { return new Filter<E>() { @Override public FilterReply decide(E event) { return FilterReply.NEUTRAL; } }; } }