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/11/13 06:55:40 UTC

logging-log4j2 git commit: Document how ListAppender.countDownLatch can be used for asynchronous logging tests

Repository: logging-log4j2
Updated Branches:
  refs/heads/master b988cab62 -> 7c629a6af


Document how ListAppender.countDownLatch can be used for asynchronous logging tests


Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/7c629a6a
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/7c629a6a
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/7c629a6a

Branch: refs/heads/master
Commit: 7c629a6af85b7146df15d19ba07a83efbf81e9c7
Parents: b988cab
Author: rpopma <rp...@apache.org>
Authored: Sun Nov 13 15:55:36 2016 +0900
Committer: rpopma <rp...@apache.org>
Committed: Sun Nov 13 15:55:36 2016 +0900

----------------------------------------------------------------------
 .../log4j/test/appender/ListAppender.java       | 28 +++++++++++++++++++-
 1 file changed, 27 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/7c629a6a/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 da36e59..418a916 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
@@ -41,7 +41,7 @@ import org.apache.logging.log4j.core.layout.SerializedLayout;
 /**
  * This appender is primarily used for testing. Use in a real environment is discouraged as the
  * List could eventually grow to cause an OutOfMemoryError.
- * 
+ *
  * This appender is not thread-safe.
  *
  * This appender will use {@link Layout#toByteArray(LogEvent)}.
@@ -65,6 +65,32 @@ public class ListAppender extends AbstractAppender {
 
     private static final String WINDOWS_LINE_SEP = "\r\n";
 
+    /**
+     * CountDownLatch for asynchronous logging tests. Example usage:
+     * <pre>
+     * @Rule
+     * public LoggerContextRule context = new LoggerContextRule("log4j-list.xml");
+     * private ListAppender listAppender;
+     *
+     * @Before
+     * public void before() throws Exception {
+     *     listAppender = context.getListAppender("List");
+     * }
+     *
+     * @Test
+     * public void testSomething() throws Exception {
+     *     listAppender.countDownLatch = new CountDownLatch(1);
+     *
+     *     Logger logger = LogManager.getLogger();
+     *     logger.info("log one event anynchronously");
+     *
+     *     // wait for the appender to finish processing this event (wait max 1 second)
+     *     listAppender.countDownLatch.await(1, TimeUnit.SECONDS);
+     *
+     *     // now assert something or do follow-up tests...
+     * }
+     * </pre>
+     */
     public CountDownLatch countDownLatch = null;
 
     public ListAppender(final String name) {