levelCoarserThan, levelCoarserThanOrEqual, levelFinerThan, levelFinerThanOrEqual, all have confusing names and 3 out of four are unnecessary. We really only need levelFinerThanOrEqual, and since java.util.Logger provides the same predicate under name "isLoggable", we should just rename it as such too and simply delegate to the contained j.u.l.Logger: public boolean isLoggable(final Level level) { return logger.isLoggable(level); }