mirror of
https://github.com/tiennm99/java-design-patterns.git
synced 2026-06-08 00:14:42 +00:00
* 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>
This commit is contained in:
committed by
GitHub
parent
0ca162a55c
commit
418557129b
@@ -0,0 +1,40 @@
|
||||
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());
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user