Version data:
- slf4j-api - 1.7.25
- logback-core - 1.2.3
- logback-classic - 1.2.3
I have a pretty simple appender I'm testing with:
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!");
}
}
It doesn't get called when I do this:
Logger logger = (Logger) LoggerFactory.getLogger(MyTest.class);
logger.addAppender(new MyAppender());
Assert.assertNotNull(logger.getAppender("Test Instance"));
logger.info("Some message");
My logback-text.xml looks like this:
<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>
Is there something I am missing in initialization of my appender?