Вход в систему добавления appender во время выполнения - PullRequest
0 голосов
/ 12 января 2019

Данные версии:

  • slf4j-api - 1,75
  • logback-core - 1.2.3
  • logback-classic - 1.2.3

У меня довольно простой appender, с которым я тестирую:

public class MyAppender extends AppenderBase<ILoggingEvent> {
  @Override
  protected String getName() {
    return "Test Instance";
  }

  @Override
  protected void append(ILoggingEvent event) {
    System.err.println("Hey, it worked!");
  }
}

Это не вызывается, когда я делаю это:

Logger logger = (Logger) LoggerFactory.getLogger(MyTest.class);
logger.addAppender(new MyAppender());
Assert.assertNotNull(logger.getAppender("Test Instance"));
logger.info("Some message");

Мой logback-text.xml выглядит так:

<configuration>
  <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <encoder>
      <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%-5level] - %msg%n</pattern>
    </encoder>
  </appender>
  <root level="INFO">
    <appender-ref ref="STDOUT" />
  </root>
</configuration>

Что-то мне не хватает при инициализации моего appender?

1 Ответ

0 голосов
/ 12 января 2019

Как всегда я отвечаю на это, как только я отправляю это. Для всех, кто нажал на это, нужно добавить:

MyAppender appender = new MyAppender();
appender.start();
...