io.quarkus.test.InMemoryLogHandler Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of quarkus-junit5-internal Show documentation
Show all versions of quarkus-junit5-internal Show documentation
A runner for unit tests, intended for testing Quarkus rather than
for end user consumption.
package io.quarkus.test;
import java.util.List;
import java.util.concurrent.CopyOnWriteArrayList;
import java.util.function.Predicate;
import java.util.logging.Level;
import java.util.logging.LogRecord;
import org.jboss.logmanager.ExtHandler;
import org.wildfly.common.Assert;
public class InMemoryLogHandler extends ExtHandler {
private final Predicate predicate;
public InMemoryLogHandler(Predicate predicate) {
this.predicate = Assert.checkNotNullParam("predicate", predicate);
}
final List records = new CopyOnWriteArrayList<>();
@Override
public void publish(LogRecord record) {
if (predicate.test(record)) {
records.add(record);
}
}
@Override
public void flush() {
}
@Override
public Level getLevel() {
return Level.FINE;
}
@Override
public void close() throws SecurityException {
this.records.clear();
}
public List getRecords() {
return records;
}
void clearRecords() {
this.records.clear();
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy