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) {