package org.sdnplatform.sync.internal.store; import java.io.Writer; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * Funnels Derby log outputs into an SLF4J logger. */ public final class DerbySlf4jBridge { private static final Logger logger = LoggerFactory.getLogger(DerbySlf4jBridge.class); private DerbySlf4jBridge() { } /** * A basic adapter that funnels Derby's logs through an SLF4J logger. */ public static final class LoggingWriter extends Writer { @Override public void write(final char[] cbuf, final int off, final int len) { if (!logger.isDebugEnabled()) return; // Don't bother with empty lines. if (len > 1) { logger.debug(new String(cbuf, off, len)); } } @Override public void flush() { // noop. } @Override public void close() { // noop. } } public static String getBridgeMethod() { return DerbySlf4jBridge.class.getCanonicalName() + ".bridge"; } public static Writer bridge() { return new LoggingWriter(); } }