001package ch.qos.logback.classic.issue.logback1159;
002
003import java.io.IOException;
004
005import ch.qos.logback.core.spi.ContextAwareBase;
006import ch.qos.logback.core.spi.LifeCycle;
007import ch.qos.logback.core.status.Status;
008import ch.qos.logback.core.status.StatusListener;
009import ch.qos.logback.core.status.ErrorStatus;
010
011public class LogbackListener extends ContextAwareBase implements StatusListener, LifeCycle {
012    private boolean started;
013
014    @Override
015    public void start() {
016        this.started = true;
017    }
018
019    @Override
020    public void stop() {
021        this.started = false;
022    }
023
024    @Override
025    public boolean isStarted() {
026        return this.started;
027    }
028
029    @Override
030    public void addStatusEvent(final Status status) {
031        if (status instanceof ErrorStatus && status.getThrowable() instanceof IOException) {
032            System.out.println("*************************LogbackListener.addStatusEvent");
033            throw new LoggingError(status.getMessage(), status.getThrowable());
034        }
035    }
036
037}