You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by mi...@apache.org on 2016/03/08 13:55:18 UTC
[2/5] logging-log4j2 git commit: Refactor
Refactor
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/1c0de0ed
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/1c0de0ed
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/1c0de0ed
Branch: refs/heads/gelf-layout-gc-free
Commit: 1c0de0ed99fa54bc8f06816f1638a4843782742d
Parents: e813d96
Author: Mikael Ståldal <mi...@magine.com>
Authored: Thu Feb 25 11:23:53 2016 +0100
Committer: Mikael Ståldal <mi...@magine.com>
Committed: Thu Feb 25 11:23:53 2016 +0100
----------------------------------------------------------------------
.../logging/log4j/core/layout/GelfLayout.java | 34 +++++++++++---------
1 file changed, 19 insertions(+), 15 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/1c0de0ed/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/GelfLayout.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/GelfLayout.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/GelfLayout.java
index 8472876..af38eb1 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/GelfLayout.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/GelfLayout.java
@@ -16,17 +16,7 @@
*/
package org.apache.logging.log4j.core.layout;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.OutputStream;
-import java.io.PrintWriter;
-import java.io.StringWriter;
-import java.math.BigDecimal;
-import java.nio.charset.StandardCharsets;
-import java.util.Collections;
-import java.util.Map;
-import java.util.zip.DeflaterOutputStream;
-import java.util.zip.GZIPOutputStream;
+import com.fasterxml.jackson.core.io.JsonStringEncoder;
import org.apache.logging.log4j.Level;
import org.apache.logging.log4j.core.Layout;
@@ -41,7 +31,17 @@ import org.apache.logging.log4j.core.util.KeyValuePair;
import org.apache.logging.log4j.status.StatusLogger;
import org.apache.logging.log4j.util.Strings;
-import com.fasterxml.jackson.core.io.JsonStringEncoder;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.io.PrintWriter;
+import java.io.StringWriter;
+import java.math.BigDecimal;
+import java.nio.charset.StandardCharsets;
+import java.util.Collections;
+import java.util.Map;
+import java.util.zip.DeflaterOutputStream;
+import java.util.zip.GZIPOutputStream;
/**
* Lays out events in the Graylog Extended Log Format (GELF) 1.1.
@@ -144,7 +144,7 @@ public final class GelfLayout extends AbstractStringLayout {
@Override
public byte[] toByteArray(final LogEvent event) {
final byte[] bytes = getBytes(toSerializable(event));
- return bytes.length > compressionThreshold ? compress(bytes) : bytes;
+ return compressionType != CompressionType.OFF && bytes.length > compressionThreshold ? compress(bytes) : bytes;
}
private byte[] compress(final byte[] bytes) {
@@ -166,7 +166,11 @@ public final class GelfLayout extends AbstractStringLayout {
@Override
public String toSerializable(final LogEvent event) {
- final StringBuilder builder = getStringBuilder();
+ final StringBuilder text = toText(event, getStringBuilder());
+ return text.toString();
+ }
+
+ private StringBuilder toText(LogEvent event, StringBuilder builder) {
final JsonStringEncoder jsonEncoder = JsonStringEncoder.getInstance();
builder.append('{');
builder.append("\"version\":\"1.1\",");
@@ -196,7 +200,7 @@ public final class GelfLayout extends AbstractStringLayout {
builder.append("\"short_message\":\"").append(jsonEncoder.quoteAsString(toNullSafeString(event.getMessage().getFormattedMessage())))
.append(Q);
builder.append('}');
- return builder.toString();
+ return builder;
}
private String toNullSafeString(final String s) {