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.
*/