Перенаправление журнала SLF4J в TextArea в JavaFX

Я хотел бы показать ошибки, зарегистрированные SLF4J вTextArea в JavaFX. То, что я до сих порappender вLogback-test.xml:

<appender name="err" class="logtest.AppTA">
    <filter class="logtest.ErrFilter" />
    <encoder>
        <pattern>%-4relative [%thread] %-5level %logger{35} - %msg%n</pattern>
    </encoder>
</appender>

TextArea готов к приему потока:

public class Output extends OutputStream{
    private final TextArea ta;
    public Output(TextArea ta) {
        this.ta = ta;
    }
    @Override
    public void write(int b) throws IOException {
        if (ta!=null) {
            ta.appendText(String.valueOf((char) b));
        }
    }
}

и класс для обработки добавления:

public class AppTA extends AppenderBase<ILoggingEvent> {

    PatternLayoutEncoder encoder;
    OutputStream os;

    @Override
    protected void append(ILoggingEvent event) {
        try {
            if (isEncoderInitialized) {
                this.encoder.doEncode(event);
            }
        } catch (IOException e) {
        }
    }

    @Override
    public void start() {
        if (this.encoder == null) {
            addError("No encoder set for the appender named [" + name + "].");
            return;
        }
        try {
            encoder.init(os);
        } catch (IOException ex) {
            Logger.getLogger(AppTA.class.getName()).log(Level.SEVERE, null, ex);
        }
        super.start();
    }

    public PatternLayoutEncoder getEncoder() {
        return encoder;
    }

    public void setEncoder(PatternLayoutEncoder encoder) {
        this.encoder = encoder;
    }
}

Теперь у меня проблема в том, что мойTextArea находится в классе контроллера, и я не знаю, как связать их вместе. Особенно, когда SLF4J создаетAppTA экземпляр сам по себе - у меня действительно нет способа передать мойTextArea вAppTA используется регистратором.

Как я могу решить это?

Ответы на вопрос(2)

Ваш ответ на вопрос