This is an automated email from the ASF dual-hosted git repository. bbejeck pushed a commit to branch 2.1 in repository https://gitbox.apache.org/repos/asf/kafka.git
The following commit(s) were added to refs/heads/2.1 by this push: new 45f5f04 HOT_FIX: Changes needed to correct cherry-pick (#6414) 45f5f04 is described below commit 45f5f04c721caed78c88d9b3a991dc8c56b16b9d Author: Bill Bejeck <bbej...@gmail.com> AuthorDate: Fri Mar 8 21:34:43 2019 -0500 HOT_FIX: Changes needed to correct cherry-pick (#6414) Fixes needed to correct changes from cherry-pick to 2.1 Reviewers: Guozhang Wang <wangg...@gmail.com>, Matthias J. Sax <mj...@apache.org>, John Roesler <j...@confluent.io> --- .../processor/internals/StreamTaskTest.java | 1 + .../internals/testutil/LogCaptureAppender.java | 50 ++++++++++++++++++++++ 2 files changed, 51 insertions(+) diff --git a/streams/src/test/java/org/apache/kafka/streams/processor/internals/StreamTaskTest.java b/streams/src/test/java/org/apache/kafka/streams/processor/internals/StreamTaskTest.java index af64099..fc128a5 100644 --- a/streams/src/test/java/org/apache/kafka/streams/processor/internals/StreamTaskTest.java +++ b/streams/src/test/java/org/apache/kafka/streams/processor/internals/StreamTaskTest.java @@ -73,6 +73,7 @@ import java.util.Set; import java.util.concurrent.atomic.AtomicBoolean; import java.util.stream.Collectors; +import static java.util.Arrays.asList; import static java.util.Collections.singletonList; import static org.apache.kafka.common.utils.Utils.mkEntry; import static org.apache.kafka.common.utils.Utils.mkMap; diff --git a/streams/src/test/java/org/apache/kafka/streams/processor/internals/testutil/LogCaptureAppender.java b/streams/src/test/java/org/apache/kafka/streams/processor/internals/testutil/LogCaptureAppender.java index ffb8799..a1f7b31 100644 --- a/streams/src/test/java/org/apache/kafka/streams/processor/internals/testutil/LogCaptureAppender.java +++ b/streams/src/test/java/org/apache/kafka/streams/processor/internals/testutil/LogCaptureAppender.java @@ -24,10 +24,36 @@ import org.apache.log4j.spi.LoggingEvent; import java.util.LinkedList; import java.util.List; +import java.util.Optional; public class LogCaptureAppender extends AppenderSkeleton { private final LinkedList<LoggingEvent> events = new LinkedList<>(); + @SuppressWarnings("OptionalUsedAsFieldOrParameterType") + public static class Event { + private String level; + private String message; + private Optional<String> throwableInfo; + + Event(final String level, final String message, final Optional<String> throwableInfo) { + this.level = level; + this.message = message; + this.throwableInfo = throwableInfo; + } + + public String getLevel() { + return level; + } + + public String getMessage() { + return message; + } + + public Optional<String> getThrowableInfo() { + return throwableInfo; + } + } + public static LogCaptureAppender createAndRegister() { final LogCaptureAppender logCaptureAppender = new LogCaptureAppender(); Logger.getRootLogger().addAppender(logCaptureAppender); @@ -59,6 +85,30 @@ public class LogCaptureAppender extends AppenderSkeleton { return result; } + public List<Event> getEvents() { + final LinkedList<Event> result = new LinkedList<>(); + synchronized (events) { + for (final LoggingEvent event : events) { + final String[] throwableStrRep = event.getThrowableStrRep(); + final Optional<String> throwableString; + if (throwableStrRep == null) { + throwableString = Optional.empty(); + } else { + final StringBuilder throwableStringBuilder = new StringBuilder(); + + for (final String s : throwableStrRep) { + throwableStringBuilder.append(s); + } + + throwableString = Optional.of(throwableStringBuilder.toString()); + } + + result.add(new Event(event.getLevel().toString(), event.getRenderedMessage(), throwableString)); + } + } + return result; + } + @Override public void close() {