Skip to content

Instantly share code, notes, and snippets.

@wkorando
Created August 6, 2018 21:40
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save wkorando/970cf79ae5b979daba7076967c3467ca to your computer and use it in GitHub Desktop.
Save wkorando/970cf79ae5b979daba7076967c3467ca to your computer and use it in GitHub Desktop.
public class LocalAppender extends AppenderBase<ILoggingEvent> {
private List<ILoggingEvent> events = new ArrayList<>();
public LocalAppender() {
start();
}
public static LocalAppender initialize(String... loggers) {
LocalAppender localAppender = new LocalAppender();
for (String loggerName : loggers) {
localAppender.setContext((LoggerContext) LoggerFactory.getILoggerFactory());
Logger logger = (Logger) LoggerFactory.getLogger(loggerName);
logger.addAppender(localAppender);
}
return localAppender;
}
public void cleanup() {
this.stop();
this.clearEvents();
}
@Override
public void append(ILoggingEvent e) {
events.add(e);
}
public List<ILoggingEvent> getEvents() {
return events;
}
public void clearEvents() {
events.clear();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment