/** * Copyright (C) 2012 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.util.log; import ch.qos.logback.classic.spi.ILoggingEvent; import ch.qos.logback.core.UnsynchronizedAppenderBase; /** * Logback appender that passes events to the {@link LogBridge}. * * @param <E> the type of log event */ public class LogbackBridgeAppender<E> extends UnsynchronizedAppenderBase<E> { private final LogBridge _logBridge = LogBridge.getInstance(); @Override protected void append(E eventObject) { if (!isStarted() || !_logBridge.hasListeners()) { return; } if (!(eventObject instanceof ILoggingEvent)) { return; } ILoggingEvent event = (ILoggingEvent) eventObject; LogbackLogEvent logEvent = new LogbackLogEvent(event); _logBridge.log(logEvent); } }