mirror of
https://github.com/tiennm99/java-design-patterns.git
synced 2026-05-16 20:59:07 +00:00
418557129b
* feat: add publisher-subscriber design pattern (#2898) * fix: check styles on publisher-subscriber design pattern (#2898) * fix: check styles on publisher-subscriber design pattern (#2898) * fix: check styles on publisher-subscriber design pattern (#2898) * fix: improve coverage on publisher-subscriber design pattern (#2898) * fix: fix dependancy on publisher-subscriber design pattern (#2898) * fix: fix documentation on publisher-subscriber design pattern (#2898) * fix: apply spotless on publisher-subscriber design pattern (#2898) * fix: changes after review on publisher-subscriber design pattern (#2898) * fix: changes after review on publisher-subscriber design pattern (#2898) * fix: fix sonar on publisher-subscriber design pattern (#2898) * fix: fix sonar on publisher-subscriber design pattern (#2898) --------- Co-authored-by: Sanura Hettiarachchi <sanura.hettiarachchi@tipico.com>
41 lines
1.3 KiB
Java
41 lines
1.3 KiB
Java
package com.iluwatar.publish.subscribe;
|
|
|
|
import ch.qos.logback.classic.Logger;
|
|
import ch.qos.logback.classic.spi.ILoggingEvent;
|
|
import ch.qos.logback.core.read.ListAppender;
|
|
import java.util.List;
|
|
import java.util.stream.Collectors;
|
|
import org.junit.jupiter.api.extension.AfterEachCallback;
|
|
import org.junit.jupiter.api.extension.BeforeEachCallback;
|
|
import org.junit.jupiter.api.extension.ExtensionContext;
|
|
import org.slf4j.LoggerFactory;
|
|
|
|
public class LoggerExtension implements BeforeEachCallback, AfterEachCallback {
|
|
|
|
private final ListAppender<ILoggingEvent> listAppender = new ListAppender<>();
|
|
private final Logger logger = (Logger) LoggerFactory.getLogger(Logger.ROOT_LOGGER_NAME);
|
|
|
|
@Override
|
|
public void afterEach(ExtensionContext extensionContext) throws Exception {
|
|
listAppender.stop();
|
|
listAppender.list.clear();
|
|
logger.detachAppender(listAppender);
|
|
}
|
|
|
|
@Override
|
|
public void beforeEach(ExtensionContext extensionContext) throws Exception {
|
|
logger.addAppender(listAppender);
|
|
listAppender.start();
|
|
}
|
|
|
|
public List<String> getMessages() {
|
|
return listAppender.list.stream().map(e -> e.getMessage()).collect(Collectors.toList());
|
|
}
|
|
|
|
public List<String> getFormattedMessages() {
|
|
return listAppender.list.stream()
|
|
.map(e -> e.getFormattedMessage())
|
|
.collect(Collectors.toList());
|
|
}
|
|
}
|