Пользовательский выходной sturspreamapdender не работает: rougeback: нет контекста для JAVA

Программисты JAVA общаются здесь
Anonymous
Пользовательский выходной sturspreamapdender не работает: rougeback: нет контекста для

Сообщение Anonymous »

Я хочу написать пользовательский приложение на основе outputstreamapdender . Я написал следующий класс < /p>

package tests;

import java.io.IOException;
import java.io.OutputStream;

import ch.qos.logback.core.OutputStreamAppender;

public class MyAppender extends OutputStreamAppender {
public MyAppender() {

System.out.println("MyAppender created");

setOutputStream(new OutputStream() {

@Override
public void write(int b) throws IOException {
throw new UnsupportedOperationException();
}
});
}
}
< /code>

Затем я написал следующий бегнер: < /p>

package tests;

import org.slf4j.LoggerFactory;

import ch.qos.logback.classic.Logger;

public class Runner {

private static final Logger log = (Logger) LoggerFactory.getLogger(Runner.class);

public static void main(String[] args) {

//log.addAppender(new MyAppender());

log.info("Hello world");
}
}
< /code>

Наконец -то я написал следующее logback.xml < /code>: < /p>





%d{HH:mm:ss.SSS} [%thread] %-5level %logger{0} - %msg%n





%d{HH:mm:ss.SSS} [%thread] %-5level %logger{0} - %msg%n








< /code>

и получил следующий вывод: < /p>

MyAppender created
LOGBACK: No context given for tests.MyAppender[null]
20:45:29.957 [main] INFO Runner - Hello world
< /code>

Это указывает на то, что приложение создается. Но отсутствие исключений означает, что это никогда не называется. < /P>

Наверное, это связано с сообщением об ошибке, которое я не понимаю: «Заготовить: нет контекста для Tests.myappender [ null] "< /p>

Что это значит и как исправить? < /p>

Подробнее здесь: https://stackoverflow.com/questions/293 ... myappender

Вернуться в «JAVA»