package org.semanticweb.owlapi.util; import java.io.PrintStream; import javax.annotation.Nullable; /** * A small wrapper class that allows SLF4J error messages about not having a binding (or more than * one) silenced. Just add {@code SLF4J.silence();} before any logger is initialised - ideally as * first instruction in your main. If the default behaviour becomes useful, * {@code SLF4J.deSilence();} will restore things. */ public class SLF4JSilencer { private static final PrintStream originalErr = System.err; private static final PrintStream filterOut = new PrintStream(System.err) { @Override public void println(@Nullable String l) { if (l == null || !l.startsWith("SLF4J")) { super.println(l); } } }; /** * Silence SLF4J warnings. */ public static void silence() { System.setErr(filterOut); } /** * Restore regular behaviour. */ public static void deSilence() { System.setErr(originalErr); } }