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/09/04 07:22:31 UTC
[43/50] logging-log4j2 git commit: [LOG4J2-1558] SocketAppender
should support IO buffering.
[LOG4J2-1558] SocketAppender should support IO buffering.
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/0c4f48a5
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/0c4f48a5
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/0c4f48a5
Branch: refs/heads/LOG4J2-1349-gcfree-threadcontext
Commit: 0c4f48a5f95417785eaafad9df814863b7c2c639
Parents: 3c2148e
Author: ggregory <gg...@apache.org>
Authored: Sat Sep 3 17:42:27 2016 -0400
Committer: ggregory <gg...@apache.org>
Committed: Sat Sep 3 17:42:27 2016 -0400
----------------------------------------------------------------------
.../logging/log4j/core/appender/SocketAppender.java | 5 +++--
src/site/xdoc/manual/appenders.xml | 11 +++++++++++
2 files changed, 14 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/0c4f48a5/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/SocketAppender.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/SocketAppender.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/SocketAppender.java
index de1663b..c156ecf 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/SocketAppender.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/SocketAppender.java
@@ -93,6 +93,7 @@ public class SocketAppender extends AbstractOutputStreamAppender<AbstractSocketM
@Override
public SocketAppender build() {
boolean immediateFlush = isImmediateFlush();
+ boolean bufferedIo = isBufferedIo();
Layout<? extends Serializable> layout = getLayout();
if (layout == null) {
layout = SerializedLayout.createLayout();
@@ -112,8 +113,8 @@ public class SocketAppender extends AbstractOutputStreamAppender<AbstractSocketM
final AbstractSocketManager manager = SocketAppender.createSocketManager(name, actualProtocol, host, port,
connectTimeoutMillis, sslConfiguration, reconnectDelayMillis, immediateFail, layout, getBufferSize());
- return new SocketAppender(name, layout, getFilter(), manager, isIgnoreExceptions(), immediateFlush,
- advertise ? configuration.getAdvertiser() : null);
+ return new SocketAppender(name, layout, getFilter(), manager, isIgnoreExceptions(),
+ !bufferedIo || immediateFlush, advertise ? configuration.getAdvertiser() : null);
}
public boolean getAdvertise() {
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/0c4f48a5/src/site/xdoc/manual/appenders.xml
----------------------------------------------------------------------
diff --git a/src/site/xdoc/manual/appenders.xml b/src/site/xdoc/manual/appenders.xml
index 0a38f0b..3518dbe 100644
--- a/src/site/xdoc/manual/appenders.xml
+++ b/src/site/xdoc/manual/appenders.xml
@@ -3491,6 +3491,17 @@ public class JpaLogEntity extends AbstractLogEventWrapperEntity {
to disk but could impact performance.</td>
</tr>
<tr>
+ <td>bufferedIO</td>
+ <td>boolean</td>
+ <td>When true - the default, events are written to a buffer and the data will be written to
+ the socket when the buffer is full or, if immediateFlush is set, when the record is written.</td>
+ </tr>
+ <tr>
+ <td>bufferSize</td>
+ <td>int</td>
+ <td>When bufferedIO is true, this is the buffer size, the default is 8192 bytes.</td>
+ </tr>
+ <tr>
<td>layout</td>
<td>Layout</td>
<td>The Layout to use to format the LogEvent. The default is SerializedLayout.</td>