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/05 17:53:06 UTC

[14/23] logging-log4j2 git commit: InMemoryAppender must keep a reference to the ByteArrayOutputStream since it will be decorated and not directly accessible via getOutputStream()

InMemoryAppender must keep a reference to the ByteArrayOutputStream since it will be decorated and not directly accessible via getOutputStream()


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

Branch: refs/heads/LOG4J2-1343-no-gc-outputstreamappenders
Commit: 8c175c548117de2300b51d5fd45ea014c5f05206
Parents: 085cb1f
Author: rpopma <rp...@apache.org>
Authored: Tue Apr 5 23:09:46 2016 +0900
Committer: rpopma <rp...@apache.org>
Committed: Tue Apr 5 23:09:46 2016 +0900

----------------------------------------------------------------------
 .../logging/log4j/test/appender/InMemoryAppender.java    | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/8c175c54/log4j-core/src/test/java/org/apache/logging/log4j/test/appender/InMemoryAppender.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/test/appender/InMemoryAppender.java b/log4j-core/src/test/java/org/apache/logging/log4j/test/appender/InMemoryAppender.java
index 2d7ccaa..e7135c4 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/test/appender/InMemoryAppender.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/test/appender/InMemoryAppender.java
@@ -40,15 +40,22 @@ public class InMemoryAppender extends AbstractOutputStreamAppender<InMemoryAppen
     }
 
     static class InMemoryManager extends OutputStreamManager {
+        private final ByteArrayOutputStream byteArrayOutputStream;
 
         public InMemoryManager(final String name, final Layout<? extends Serializable> layout,
                 final boolean writeHeader) {
-            super(new ByteArrayOutputStream(), name, layout, writeHeader);
+            this(new ByteArrayOutputStream(), name, layout, writeHeader);
+        }
+
+        public InMemoryManager(final ByteArrayOutputStream stream, final String name,
+                final Layout<? extends Serializable> layout, final boolean writeHeader) {
+            super(stream, name, layout, writeHeader);
+            this.byteArrayOutputStream = stream;
         }
 
         @Override
         public String toString() {
-            return getOutputStream().toString();
+            return byteArrayOutputStream.toString();
         }
     }
 }