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:04 UTC

[12/23] logging-log4j2 git commit: LOG4J2-1344 added method OutputStreamManager.isAutoBuffered() so Appenders can detect if the target OutputStream is wrapped in a ByteBufferDestinationOutputStream

LOG4J2-1344 added method OutputStreamManager.isAutoBuffered() so Appenders can detect if the target OutputStream is wrapped in a ByteBufferDestinationOutputStream


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

Branch: refs/heads/LOG4J2-1343-no-gc-outputstreamappenders
Commit: 7cef3f92af3c8be824e796d591b038755d0fbdf0
Parents: 6aea61e
Author: rpopma <rp...@apache.org>
Authored: Tue Apr 5 22:57:00 2016 +0900
Committer: rpopma <rp...@apache.org>
Committed: Tue Apr 5 22:57:00 2016 +0900

----------------------------------------------------------------------
 .../logging/log4j/core/appender/OutputStreamManager.java  | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/7cef3f92/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/OutputStreamManager.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/OutputStreamManager.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/OutputStreamManager.java
index 428ef7e..1be56c7 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/OutputStreamManager.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/OutputStreamManager.java
@@ -34,11 +34,13 @@ public class OutputStreamManager extends AbstractManager {
 
     private volatile OutputStream os;
     protected final Layout<?> layout;
+    private final boolean autoBuffered;
 
-    protected OutputStreamManager(final OutputStream os, final String streamName, final Layout<?> layout,
+    protected OutputStreamManager(final OutputStream out, final String streamName, final Layout<?> layout,
             final boolean writeHeader) {
         super(streamName);
-        this.os = adaptForDirectEncoding(os);
+        this.os = adaptForDirectEncoding(out);
+        this.autoBuffered = this.os != out;
         this.layout = layout;
         if (writeHeader && layout != null) {
             final byte[] header = layout.getHeader();
@@ -85,6 +87,10 @@ public class OutputStreamManager extends AbstractManager {
                 "ByteBufferDestination not available unless direct encoders are enabled");
     }
 
+    public boolean isAutoBuffered() {
+        return autoBuffered;
+    }
+
     /**
      * Default hook to write footer during close.
      */