You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by rp...@apache.org on 2016/04/22 07:58:39 UTC
[05/15] logging-log4j2 git commit: LOG4J2-1342 use more reliable
CountDownLatch to ensure background thread is finished
LOG4J2-1342 use more reliable CountDownLatch to ensure background thread is finished
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/2cfc07bd
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/2cfc07bd
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/2cfc07bd
Branch: refs/heads/master
Commit: 2cfc07bdb0222aae9f501ebfb405e8d8ecd33d5a
Parents: aab635f
Author: rpopma <rp...@apache.org>
Authored: Fri Apr 22 14:24:00 2016 +0900
Committer: rpopma <rp...@apache.org>
Committed: Fri Apr 22 14:24:00 2016 +0900
----------------------------------------------------------------------
.../logging/log4j/core/layout/CsvParameterLayoutTest.java | 9 +++++----
.../apache/logging/log4j/test/appender/ListAppender.java | 6 ++++++
2 files changed, 11 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/2cfc07bd/log4j-core/src/test/java/org/apache/logging/log4j/core/layout/CsvParameterLayoutTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/layout/CsvParameterLayoutTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/layout/CsvParameterLayoutTest.java
index ce3abfc..a51db99 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/layout/CsvParameterLayoutTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/layout/CsvParameterLayoutTest.java
@@ -21,6 +21,8 @@ import java.util.Arrays;
import java.util.Collection;
import java.util.List;
import java.util.Map;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.TimeUnit;
import org.apache.commons.csv.CSVFormat;
import org.apache.logging.log4j.Level;
@@ -97,6 +99,8 @@ public class CsvParameterLayoutTest {
final ListAppender appender = new ListAppender("List", null, layout, true, false);
appender.start();
+ appender.countDownLatch = new CountDownLatch(4);
+
// set appender on root and set level to debug
root.addAppender(appender);
root.setLevel(Level.DEBUG);
@@ -109,10 +113,7 @@ public class CsvParameterLayoutTest {
}
// wait until background thread finished processing
- int maxTries = 50;
- while (appender.getMessages().size() < 4 && maxTries-- > 0) {
- Thread.sleep(1L);
- }
+ appender.countDownLatch.await(10, TimeUnit.SECONDS);
assertEquals("Background thread did not finish processing: msg count", 4, appender.getMessages().size());
// don't stop appender until background thread is done
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/2cfc07bd/log4j-core/src/test/java/org/apache/logging/log4j/test/appender/ListAppender.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/test/appender/ListAppender.java b/log4j-core/src/test/java/org/apache/logging/log4j/test/appender/ListAppender.java
index 19aeaee..acab7c1 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/test/appender/ListAppender.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/test/appender/ListAppender.java
@@ -20,6 +20,7 @@ import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
+import java.util.concurrent.CountDownLatch;
import org.apache.logging.log4j.core.Filter;
import org.apache.logging.log4j.core.Layout;
@@ -60,6 +61,8 @@ public class ListAppender extends AbstractAppender {
private static final String WINDOWS_LINE_SEP = "\r\n";
+ public CountDownLatch countDownLatch = null;
+
public ListAppender(final String name) {
super(name, null, null);
newLine = false;
@@ -99,6 +102,9 @@ public class ListAppender extends AbstractAppender {
} else {
write(layout.toByteArray(event));
}
+ if (countDownLatch != null) {
+ countDownLatch.countDown();
+ }
}
void write(final byte[] bytes) {