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/22 12:58:12 UTC
[01/14] logging-log4j2 git commit: Code clean-up
Repository: logging-log4j2
Updated Branches:
refs/heads/master 03910c65b -> a41326974
Code clean-up
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/e813d969
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/e813d969
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/e813d969
Branch: refs/heads/master
Commit: e813d969d247edaeed114063303f0f353c1ae692
Parents: 8cb7c5d
Author: Mikael Ståldal <mi...@magine.com>
Authored: Tue Feb 23 15:46:07 2016 +0100
Committer: Mikael Ståldal <mi...@magine.com>
Committed: Tue Feb 23 15:46:07 2016 +0100
----------------------------------------------------------------------
.../logging/log4j/core/layout/GelfLayout.java | 68 +++++++++++---------
1 file changed, 37 insertions(+), 31 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/e813d969/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 a19af64..8472876 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
@@ -72,7 +72,7 @@ import com.fasterxml.jackson.core.io.JsonStringEncoder;
@Plugin(name = "GelfLayout", category = Node.CATEGORY, elementType = Layout.ELEMENT_TYPE, printObject = true)
public final class GelfLayout extends AbstractStringLayout {
- public static enum CompressionType {
+ public enum CompressionType {
GZIP {
@Override
@@ -131,24 +131,20 @@ public final class GelfLayout extends AbstractStringLayout {
return new GelfLayout(host, additionalFields, compressionType, compressionThreshold);
}
- /**
- * http://en.wikipedia.org/wiki/Syslog#Severity_levels
- */
- static int formatLevel(final Level level) {
- return Severity.getSeverity(level).getCode();
+ @Override
+ public Map<String, String> getContentFormat() {
+ return Collections.emptyMap();
}
- static String formatThrowable(final Throwable throwable) {
- // stack traces are big enough to provide a reasonably large initial capacity here
- final StringWriter sw = new StringWriter(2048);
- final PrintWriter pw = new PrintWriter(sw);
- throwable.printStackTrace(pw);
- pw.flush();
- return sw.toString();
+ @Override
+ public String getContentType() {
+ return JsonLayout.CONTENT_TYPE + "; charset=" + this.getCharset();
}
- static String formatTimestamp(final long timeMillis) {
- return new BigDecimal(timeMillis).divide(TIME_DIVISOR).toPlainString();
+ @Override
+ public byte[] toByteArray(final LogEvent event) {
+ final byte[] bytes = getBytes(toSerializable(event));
+ return bytes.length > compressionThreshold ? compress(bytes) : bytes;
}
private byte[] compress(final byte[] bytes) {
@@ -169,22 +165,6 @@ public final class GelfLayout extends AbstractStringLayout {
}
@Override
- public Map<String, String> getContentFormat() {
- return Collections.emptyMap();
- }
-
- @Override
- public String getContentType() {
- return JsonLayout.CONTENT_TYPE + "; charset=" + this.getCharset();
- }
-
- @Override
- public byte[] toByteArray(final LogEvent event) {
- final byte[] bytes = getBytes(toSerializable(event));
- return bytes.length > compressionThreshold ? compress(bytes) : bytes;
- }
-
- @Override
public String toSerializable(final LogEvent event) {
final StringBuilder builder = getStringBuilder();
final JsonStringEncoder jsonEncoder = JsonStringEncoder.getInstance();
@@ -222,4 +202,30 @@ public final class GelfLayout extends AbstractStringLayout {
private String toNullSafeString(final String s) {
return s == null ? Strings.EMPTY : s;
}
+
+ /**
+ * Non-private to make it accessible from unit test.
+ */
+ static String formatTimestamp(final long timeMillis) {
+ return new BigDecimal(timeMillis).divide(TIME_DIVISOR).toPlainString();
+ }
+
+ /**
+ * http://en.wikipedia.org/wiki/Syslog#Severity_levels
+ */
+ private int formatLevel(final Level level) {
+ return Severity.getSeverity(level).getCode();
+ }
+
+ /**
+ * Non-private to make it accessible from unit test.
+ */
+ static String formatThrowable(final Throwable throwable) {
+ // stack traces are big enough to provide a reasonably large initial capacity here
+ final StringWriter sw = new StringWriter(2048);
+ final PrintWriter pw = new PrintWriter(sw);
+ throwable.printStackTrace(pw);
+ pw.flush();
+ return sw.toString();
+ }
}
[08/14] logging-log4j2 git commit: Merge branch 'master' into
gelf-layout-gc-free
Posted by mi...@apache.org.
Merge branch 'master' into gelf-layout-gc-free
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/821e6201
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/821e6201
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/821e6201
Branch: refs/heads/master
Commit: 821e6201d98cec8a6a0bcaa19d09540e1ea4e80b
Parents: 58152b7 cc37ea6
Author: Mikael Ståldal <mi...@magine.com>
Authored: Tue Mar 8 17:37:08 2016 +0100
Committer: Mikael Ståldal <mi...@magine.com>
Committed: Tue Mar 8 17:37:08 2016 +0100
----------------------------------------------------------------------
.../apache/logging/log4j/EventLoggerTest.java | 2 +-
.../apache/logging/log4j/LambdaLoggerTest.java | 3 +--
.../core/pattern/DatePatternConverterTest.java | 2 +-
.../apache/logging/log4j/junit/CleanFiles.java | 2 +-
.../log4j/test/appender/AlwaysFailAppender.java | 11 ++++------
.../log4j/test/appender/DeadlockAppender.java | 13 ++++--------
.../log4j/test/appender/FailOnceAppender.java | 13 ++++--------
.../log4j/test/appender/InMemoryAppender.java | 2 --
.../log4j/test/appender/ListAppender.java | 6 +-----
.../test/appender/UsesLoggingAppender.java | 22 +++++++-------------
10 files changed, 24 insertions(+), 52 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/821e6201/log4j-core/src/test/java/org/apache/logging/log4j/test/appender/ListAppender.java
----------------------------------------------------------------------
diff --cc log4j-core/src/test/java/org/apache/logging/log4j/test/appender/ListAppender.java
index cd9ec82,125f3d8..97ca15d
--- a/log4j-core/src/test/java/org/apache/logging/log4j/test/appender/ListAppender.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/test/appender/ListAppender.java
@@@ -44,11 -41,9 +44,9 @@@ import org.apache.logging.log4j.core.la
@Plugin(name = "List", category = "Core", elementType = "appender", printObject = true)
public class ListAppender extends AbstractAppender {
- private static final long serialVersionUID = 1L;
-
// Use CopyOnWriteArrayList?
- private final List<LogEvent> events = new ArrayList<>();
+ final List<LogEvent> events = new ArrayList<>();
private final List<String> messages = new ArrayList<>();
[06/14] logging-log4j2 git commit: Merge branch 'master' into
gelf-layout-gc-free
Posted by mi...@apache.org.
Merge branch 'master' into gelf-layout-gc-free
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/7467e5dc
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/7467e5dc
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/7467e5dc
Branch: refs/heads/master
Commit: 7467e5dc2066b1ab553c3744b389b09b0bc28516
Parents: 920cddd f1e5063
Author: Mikael Ståldal <mi...@magine.com>
Authored: Tue Mar 8 16:15:53 2016 +0100
Committer: Mikael Ståldal <mi...@magine.com>
Committed: Tue Mar 8 16:15:53 2016 +0100
----------------------------------------------------------------------
.../message/ReusableParameterizedMessage.java | 23 ++-
.../log4j/message/ParameterFormatterTest.java | 193 +++++++++++++++++++
.../ReusableParameterizedMessageTest.java | 59 ++++++
.../core/async/AsyncLoggerConfigDisruptor.java | 6 +-
.../log4j/core/async/RingBufferLogEvent.java | 6 +-
.../logging/log4j/core/impl/Log4jLogEvent.java | 16 +-
.../logging/log4j/core/net/SmtpManager.java | 7 +-
.../log4j/core/layout/PatternLayoutTest.java | 67 +++++--
8 files changed, 347 insertions(+), 30 deletions(-)
----------------------------------------------------------------------
[02/14] logging-log4j2 git commit: Refactor
Posted by mi...@apache.org.
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/master
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) {
[07/14] logging-log4j2 git commit: Unit test for GelfLayout.encode
Posted by mi...@apache.org.
Unit test for GelfLayout.encode
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/58152b79
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/58152b79
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/58152b79
Branch: refs/heads/master
Commit: 58152b79b0c883ba6df57b06bbb4e2c96353232e
Parents: 7467e5d
Author: Mikael Ståldal <mi...@magine.com>
Authored: Tue Mar 8 17:34:43 2016 +0100
Committer: Mikael Ståldal <mi...@magine.com>
Committed: Tue Mar 8 17:34:43 2016 +0100
----------------------------------------------------------------------
.../log4j/core/layout/GelfLayoutTest.java | 75 +++++++++++---------
.../test/appender/EncodingListAppender.java | 64 +++++++++++++++++
.../log4j/test/appender/ListAppender.java | 9 ++-
3 files changed, 112 insertions(+), 36 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/58152b79/log4j-core/src/test/java/org/apache/logging/log4j/core/layout/GelfLayoutTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/layout/GelfLayoutTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/layout/GelfLayoutTest.java
index 2aa7eda..c82fa21 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/layout/GelfLayoutTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/layout/GelfLayoutTest.java
@@ -16,32 +16,28 @@
*/
package org.apache.logging.log4j.core.layout;
-import static net.javacrumbs.jsonunit.JsonAssert.assertJsonEquals;
-
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.List;
-import java.util.zip.GZIPInputStream;
-import java.util.zip.InflaterInputStream;
-
+import com.fasterxml.jackson.core.io.JsonStringEncoder;
import org.apache.commons.io.IOUtils;
import org.apache.logging.log4j.Level;
import org.apache.logging.log4j.ThreadContext;
-import org.apache.logging.log4j.core.Appender;
-import org.apache.logging.log4j.core.BasicConfigurationFactory;
-import org.apache.logging.log4j.core.LogEvent;
-import org.apache.logging.log4j.core.Logger;
-import org.apache.logging.log4j.core.LoggerContext;
+import org.apache.logging.log4j.core.*;
import org.apache.logging.log4j.core.config.ConfigurationFactory;
import org.apache.logging.log4j.core.layout.GelfLayout.CompressionType;
import org.apache.logging.log4j.core.util.KeyValuePair;
+import org.apache.logging.log4j.test.appender.EncodingListAppender;
import org.apache.logging.log4j.test.appender.ListAppender;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
-import com.fasterxml.jackson.core.io.JsonStringEncoder;
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.List;
+import java.util.zip.GZIPInputStream;
+import java.util.zip.InflaterInputStream;
+
+import static net.javacrumbs.jsonunit.JsonAssert.assertJsonEquals;
public class GelfLayoutTest {
static ConfigurationFactory configFactory = new BasicConfigurationFactory();
@@ -85,18 +81,20 @@ public class GelfLayoutTest {
final GelfLayout layout = GelfLayout.createLayout(HOSTNAME, new KeyValuePair[] {
new KeyValuePair(KEY1, VALUE1),
new KeyValuePair(KEY2, VALUE2), }, compressionType, 1024);
- // ConsoleAppender appender = new ConsoleAppender("Console", layout);
final ListAppender eventAppender = new ListAppender("Events", null, null, true, false);
final ListAppender rawAppender = new ListAppender("Raw", null, layout, true, true);
final ListAppender formattedAppender = new ListAppender("Formatted", null, layout, true, false);
+ final EncodingListAppender encodedAppender = new EncodingListAppender("Encoded", null, layout, false, true);
eventAppender.start();
rawAppender.start();
formattedAppender.start();
+ encodedAppender.start();
// set appenders on root and set level to debug
root.addAppender(eventAppender);
root.addAppender(rawAppender);
root.addAppender(formattedAppender);
+ root.addAppender(encodedAppender);
root.setLevel(Level.DEBUG);
root.debug(LINE1);
@@ -116,6 +114,7 @@ public class GelfLayoutTest {
final List<LogEvent> events = eventAppender.getEvents();
final List<byte[]> raw = rawAppender.getData();
final List<String> messages = formattedAppender.getMessages();
+ final List<byte[]> raw2 = encodedAppender.getData();
final String threadName = Thread.currentThread().getName();
//@formatter:off
@@ -148,42 +147,52 @@ public class GelfLayoutTest {
messages.get(1));
//@formatter:on
final byte[] compressed = raw.get(2);
+ final byte[] compressed2 = raw2.get(2);
final ByteArrayInputStream bais = new ByteArrayInputStream(compressed);
- InputStream inflaterStream = null;
+ final ByteArrayInputStream bais2 = new ByteArrayInputStream(compressed2);
+ InputStream inflaterStream;
+ InputStream inflaterStream2;
switch (compressionType) {
case GZIP:
inflaterStream = new GZIPInputStream(bais);
+ inflaterStream2 = new GZIPInputStream(bais2);
break;
case ZLIB:
inflaterStream = new InflaterInputStream(bais);
+ inflaterStream2 = new InflaterInputStream(bais2);
break;
case OFF:
inflaterStream = bais;
+ inflaterStream2 = bais2;
break;
default:
throw new IllegalStateException("Missing test case clause");
}
final byte[] uncompressed = IOUtils.toByteArray(inflaterStream);
+ final byte[] uncompressed2 = IOUtils.toByteArray(inflaterStream2);
inflaterStream.close();
+ inflaterStream2.close();
final String uncompressedString = new String(uncompressed, layout.getCharset());
+ final String uncompressedString2 = new String(uncompressed2, layout.getCharset());
//@formatter:off
- assertJsonEquals("{" +
- "\"version\": \"1.1\"," +
- "\"host\": \"" + HOSTNAME + "\"," +
- "\"timestamp\": " + GelfLayout.formatTimestamp(events.get(2).getTimeMillis()) + "," +
- "\"level\": 3," +
- "\"_thread\": \"" + threadName + "\"," +
- "\"_logger\": \"\"," +
- "\"short_message\": \"" + LINE3 + "\"," +
- "\"full_message\": \"" + String.valueOf(JsonStringEncoder.getInstance().quoteAsString(
- GelfLayout.formatThrowable(exception))) + "\"," +
- "\"_" + KEY1 + "\": \"" + VALUE1 + "\"," +
- "\"_" + KEY2 + "\": \"" + VALUE2 + "\"," +
- "\"_" + MDCKEY1 + "\": \"" + MDCVALUE1 + "\"," +
- "\"_" + MDCKEY2 + "\": \"" + MDCVALUE2 + "\"" +
- "}",
- uncompressedString);
+ String expected = "{" +
+ "\"version\": \"1.1\"," +
+ "\"host\": \"" + HOSTNAME + "\"," +
+ "\"timestamp\": " + GelfLayout.formatTimestamp(events.get(2).getTimeMillis()) + "," +
+ "\"level\": 3," +
+ "\"_thread\": \"" + threadName + "\"," +
+ "\"_logger\": \"\"," +
+ "\"short_message\": \"" + LINE3 + "\"," +
+ "\"full_message\": \"" + String.valueOf(JsonStringEncoder.getInstance().quoteAsString(
+ GelfLayout.formatThrowable(exception))) + "\"," +
+ "\"_" + KEY1 + "\": \"" + VALUE1 + "\"," +
+ "\"_" + KEY2 + "\": \"" + VALUE2 + "\"," +
+ "\"_" + MDCKEY1 + "\": \"" + MDCVALUE1 + "\"," +
+ "\"_" + MDCKEY2 + "\": \"" + MDCVALUE2 + "\"" +
+ "}";
//@formatter:on
+ assertJsonEquals(expected, uncompressedString);
+ assertJsonEquals(expected, uncompressedString2);
}
@Test
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/58152b79/log4j-core/src/test/java/org/apache/logging/log4j/test/appender/EncodingListAppender.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/test/appender/EncodingListAppender.java b/log4j-core/src/test/java/org/apache/logging/log4j/test/appender/EncodingListAppender.java
new file mode 100644
index 0000000..810e18f
--- /dev/null
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/test/appender/EncodingListAppender.java
@@ -0,0 +1,64 @@
+package org.apache.logging.log4j.test.appender;
+
+import org.apache.logging.log4j.core.Filter;
+import org.apache.logging.log4j.core.Layout;
+import org.apache.logging.log4j.core.LogEvent;
+import org.apache.logging.log4j.core.layout.ByteBufferDestination;
+import org.apache.logging.log4j.core.layout.SerializedLayout;
+
+import java.io.Serializable;
+import java.nio.ByteBuffer;
+
+/**
+ * This appender is primarily used for testing. Use in a real environment is discouraged as the
+ * List could eventually grow to cause an OutOfMemoryError.
+ *
+ * This appender will use {@link Layout#encode(Object, ByteBufferDestination)} (and not {@link Layout#toByteArray(LogEvent)}).
+ */
+public class EncodingListAppender extends ListAppender {
+
+ public EncodingListAppender(String name) {
+ super(name);
+ }
+
+ public EncodingListAppender(String name, Filter filter, Layout<? extends Serializable> layout, boolean newline, boolean raw) {
+ super(name, filter, layout, newline, raw);
+ }
+
+ private class Destination implements ByteBufferDestination {
+ ByteBuffer byteBuffer = ByteBuffer.wrap(new byte[4096]);
+ @Override
+ public ByteBuffer getByteBuffer() {
+ return byteBuffer;
+ }
+
+ @Override
+ public ByteBuffer drain(final ByteBuffer buf) {
+ throw new IllegalStateException("Unexpected message larger than 4096 bytes");
+ }
+ }
+
+ @Override
+ public synchronized void append(final LogEvent event) {
+ final Layout<? extends Serializable> layout = getLayout();
+ if (layout == null) {
+ events.add(event);
+ } else if (layout instanceof SerializedLayout) {
+ Destination content = new Destination();
+ content.byteBuffer.put(layout.getHeader());
+ layout.encode(event, content);
+ content.getByteBuffer().rewind();
+ byte[] record = new byte[content.getByteBuffer().remaining()];
+ content.getByteBuffer().get(record);
+ data.add(record);
+ } else {
+ Destination content = new Destination();
+ layout.encode(event, content);
+ content.getByteBuffer().rewind();
+ byte[] record = new byte[content.getByteBuffer().remaining()];
+ content.getByteBuffer().get(record);
+ write(record);
+ }
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/58152b79/log4j-core/src/test/java/org/apache/logging/log4j/test/appender/ListAppender.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/test/appender/ListAppender.java b/log4j-core/src/test/java/org/apache/logging/log4j/test/appender/ListAppender.java
index 05fa157..cd9ec82 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/test/appender/ListAppender.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/test/appender/ListAppender.java
@@ -36,6 +36,9 @@ import org.apache.logging.log4j.core.layout.SerializedLayout;
/**
* This appender is primarily used for testing. Use in a real environment is discouraged as the
* List could eventually grow to cause an OutOfMemoryError.
+ *
+ * This appender will use {@link Layout#toByteArray(LogEvent)}.
+ *
* @see org.apache.logging.log4j.junit.LoggerContextRule#getListAppender(String) ILC.getListAppender
*/
@Plugin(name = "List", category = "Core", elementType = "appender", printObject = true)
@@ -45,11 +48,11 @@ public class ListAppender extends AbstractAppender {
// Use CopyOnWriteArrayList?
- private final List<LogEvent> events = new ArrayList<>();
+ final List<LogEvent> events = new ArrayList<>();
private final List<String> messages = new ArrayList<>();
- private final List<byte[]> data = new ArrayList<>();
+ final List<byte[]> data = new ArrayList<>();
private final boolean newLine;
@@ -93,7 +96,7 @@ public class ListAppender extends AbstractAppender {
}
}
- private void write(final byte[] bytes) {
+ void write(final byte[] bytes) {
if (raw) {
data.add(bytes);
return;
[10/14] logging-log4j2 git commit: Merge branch 'master' into
gelf-layout-gc-free
Posted by mi...@apache.org.
Merge branch 'master' into gelf-layout-gc-free
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/a5b00b33
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/a5b00b33
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/a5b00b33
Branch: refs/heads/master
Commit: a5b00b331330cd8993e037d55a7c1a6001215d53
Parents: a2b5ed0 e2a8652
Author: Mikael Ståldal <mi...@magine.com>
Authored: Fri Mar 11 15:23:10 2016 +0100
Committer: Mikael Ståldal <mi...@magine.com>
Committed: Fri Mar 11 15:23:10 2016 +0100
----------------------------------------------------------------------
log4j-1.2-api/pom.xml | 5 +
.../config/Log4j1ConfigurationFactory.java | 314 +++++++++++++++++++
.../config/Log4j1ConfigurationFactoryTest.java | 88 ++++++
...g4j-console-EnhancedPatternLayout.properties | 19 ++
.../log4j-console-HtmlLayout.properties | 18 ++
.../log4j-console-PatternLayout.properties | 19 ++
.../log4j-console-SimpleLayout.properties | 18 ++
.../log4j-console-TTCCLayout.properties | 18 ++
.../log4j-console-XmlLayout.properties | 18 ++
.../logging/log4j/core/LoggerContext.java | 2 +
.../core/async/AsyncLoggerConfigDisruptor.java | 4 +-
.../log4j/core/async/AsyncLoggerDisruptor.java | 4 +-
.../logging/log4j/core/lookup/JndiLookup.java | 2 +-
.../pattern/EqualsReplacementConverter.java | 48 ++-
.../logging/log4j/core/LoggerUpdateTest.java | 15 +
.../rolling/RollingAppenderSizeTest.java | 15 +-
.../log4j/core/layout/PatternLayoutTest.java | 22 ++
.../log4j/core/lookup/JndiLookupTest.java | 18 ++
.../pattern/EqualsReplacementConverterTest.java | 63 +++-
.../apache/logging/log4j/core/util/Compare.java | 134 --------
.../log4j/web/Log4jWebInitializerImpl.java | 5 +-
.../log4j/web/appender/ServletAppender.java | 4 +-
src/changes/changes.xml | 17 +-
src/site/xdoc/manual/configuration.xml.vm | 4 +
24 files changed, 696 insertions(+), 178 deletions(-)
----------------------------------------------------------------------
[05/14] logging-log4j2 git commit: GC free GelfLayout
Posted by mi...@apache.org.
GC free GelfLayout
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/920cddd4
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/920cddd4
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/920cddd4
Branch: refs/heads/master
Commit: 920cddd42f0f97975019c5a2ac466256078d6db8
Parents: 3110269
Author: Mikael Ståldal <mi...@magine.com>
Authored: Tue Mar 8 13:55:00 2016 +0100
Committer: Mikael Ståldal <mi...@magine.com>
Committed: Tue Mar 8 13:55:00 2016 +0100
----------------------------------------------------------------------
.../log4j/core/layout/AbstractStringLayout.java | 30 +++++++++++++++++++-
.../logging/log4j/core/layout/GelfLayout.java | 15 +++++++++-
.../log4j/core/layout/PatternLayout.java | 11 -------
.../logging/log4j/core/util/StringEncoder.java | 10 +++----
4 files changed, 48 insertions(+), 18 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/920cddd4/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/AbstractStringLayout.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/AbstractStringLayout.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/AbstractStringLayout.java
index 607d965..a31df97 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/AbstractStringLayout.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/AbstractStringLayout.java
@@ -17,6 +17,8 @@
package org.apache.logging.log4j.core.layout;
import java.io.UnsupportedEncodingException;
+import java.nio.ByteBuffer;
+import java.nio.CharBuffer;
import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
@@ -56,7 +58,9 @@ public abstract class AbstractStringLayout extends AbstractLayout<String> implem
*/
protected static final int DEFAULT_STRING_BUILDER_SIZE = 1024;
- private final static ThreadLocal<StringBuilder> threadLocal = new ThreadLocal<>();
+ private static final ThreadLocal<StringBuilder> threadLocal = new ThreadLocal<>();
+
+ private static final ThreadLocal<TextEncoderHelper> textEncoderHelper = new ThreadLocal<>();
/**
* Returns a {@code StringBuilder} that this Layout implementation can use to write the formatted log event to.
@@ -72,6 +76,16 @@ public abstract class AbstractStringLayout extends AbstractLayout<String> implem
result.setLength(0);
return result;
}
+
+ protected TextEncoderHelper getCachedTextEncoderHelper() {
+ TextEncoderHelper result = textEncoderHelper.get();
+ if (result == null) {
+ result = new TextEncoderHelper(getCharset());
+ textEncoderHelper.set(result);
+ }
+ return result;
+ }
+
// LOG4J2-1151: If the built-in JDK 8 encoders are available we should use them.
private static boolean isPreJava8() {
final String version = System.getProperty("java.version");
@@ -147,6 +161,20 @@ public abstract class AbstractStringLayout extends AbstractLayout<String> implem
}
}
+ protected byte[] getBytes(final CharSequence cseq) {
+ if (useCustomEncoding) { // rely on branch prediction to eliminate this check if false
+ return StringEncoder.encodeSingleByteChars(cseq);
+ }
+ ByteBuffer byteBuffer = charset.encode(CharBuffer.wrap(cseq));
+ if (byteBuffer.hasArray()) {
+ return byteBuffer.array();
+ } else {
+ byte[] bytes = new byte[byteBuffer.remaining()];
+ byteBuffer.get(bytes);
+ return bytes;
+ }
+ }
+
@Override
public Charset getCharset() {
return charset;
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/920cddd4/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 f107eb2..de48431 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
@@ -37,6 +37,7 @@ import org.apache.logging.log4j.core.config.plugins.PluginAttribute;
import org.apache.logging.log4j.core.config.plugins.PluginElement;
import org.apache.logging.log4j.core.config.plugins.PluginFactory;
import org.apache.logging.log4j.core.net.Severity;
+import org.apache.logging.log4j.core.util.Constants;
import org.apache.logging.log4j.core.util.KeyValuePair;
import org.apache.logging.log4j.status.StatusLogger;
import org.apache.logging.log4j.util.Strings;
@@ -142,10 +143,22 @@ public final class GelfLayout extends AbstractStringLayout {
@Override
public byte[] toByteArray(final LogEvent event) {
- final byte[] bytes = getBytes(toSerializable(event));
+ StringBuilder text = toText(event, getStringBuilder());
+ final byte[] bytes = getBytes(text);
return compressionType != CompressionType.OFF && bytes.length > compressionThreshold ? compress(bytes) : bytes;
}
+ @Override
+ public void encode(final LogEvent event, final ByteBufferDestination destination) {
+ if (!Constants.ENABLE_THREADLOCALS || compressionType != CompressionType.OFF) {
+ super.encode(event, destination);
+ return;
+ }
+ final StringBuilder text = toText(event, getStringBuilder());
+ final TextEncoderHelper helper = getCachedTextEncoderHelper();
+ helper.encodeText(text, destination);
+ }
+
private byte[] compress(final byte[] bytes) {
try {
final ByteArrayOutputStream baos = new ByteArrayOutputStream(compressionThreshold / 8);
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/920cddd4/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/PatternLayout.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/PatternLayout.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/PatternLayout.java
index ea0ec79..e35e358 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/PatternLayout.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/PatternLayout.java
@@ -77,8 +77,6 @@ public final class PatternLayout extends AbstractStringLayout {
/** Key to identify pattern converters. */
public static final String KEY = "Converter";
- private static final ThreadLocal<TextEncoderHelper> textEncoderHelper = new ThreadLocal<>();
-
/**
* Conversion pattern.
*/
@@ -197,15 +195,6 @@ public final class PatternLayout extends AbstractStringLayout {
return serializer.toSerializable(event, destination);
}
- private TextEncoderHelper getCachedTextEncoderHelper() {
- TextEncoderHelper result = textEncoderHelper.get();
- if (result == null) {
- result = new TextEncoderHelper(getCharset());
- textEncoderHelper.set(result);
- }
- return result;
- }
-
/**
* Creates a PatternParser.
* @param config The Configuration.
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/920cddd4/log4j-core/src/main/java/org/apache/logging/log4j/core/util/StringEncoder.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/util/StringEncoder.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/util/StringEncoder.java
index 4f62208..a2011cb 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/util/StringEncoder.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/util/StringEncoder.java
@@ -53,13 +53,13 @@ public final class StringEncoder {
}
/**
- * Encodes the specified string by casting each character to a byte.
+ * Encodes the specified char sequence by casting each character to a byte.
*
- * @param s the string to encode
+ * @param s the char sequence to encode
* @return the encoded String
* @see <a href="https://issues.apache.org/jira/browse/LOG4J2-1151">LOG4J2-1151</a>
*/
- public static byte[] encodeSingleByteChars(String s) {
+ public static byte[] encodeSingleByteChars(CharSequence s) {
final int length = s.length();
final byte[] result = new byte[length];
encodeString(s, 0, length, result);
@@ -71,7 +71,7 @@ public final class StringEncoder {
* Implementation note: this is the fast path. If the char array contains only ISO-8859-1 characters, all the work
* will be done here.
*/
- public static int encodeIsoChars(String charArray, int charIndex, byte[] byteArray, int byteIndex, int length) {
+ public static int encodeIsoChars(CharSequence charArray, int charIndex, byte[] byteArray, int byteIndex, int length) {
int i = 0;
for (; i < length; i++) {
char c = charArray.charAt(charIndex++);
@@ -84,7 +84,7 @@ public final class StringEncoder {
}
// LOG4J2-1151
- public static int encodeString(String charArray, int charOffset, int charLength, byte[] byteArray) {
+ public static int encodeString(CharSequence charArray, int charOffset, int charLength, byte[] byteArray) {
int byteOffset = 0;
int length = Math.min(charLength, byteArray.length);
int charDoneIndex = charOffset + length;
[14/14] logging-log4j2 git commit: Fix imports
Posted by mi...@apache.org.
Fix imports
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/a4132697
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/a4132697
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/a4132697
Branch: refs/heads/master
Commit: a413269747c6b2c1c29277ca84b2b6d18f8328e4
Parents: 654212c
Author: Mikael Ståldal <mi...@magine.com>
Authored: Tue Mar 22 12:56:27 2016 +0100
Committer: Mikael Ståldal <mi...@magine.com>
Committed: Tue Mar 22 12:56:27 2016 +0100
----------------------------------------------------------------------
.../logging/log4j/core/layout/AbstractStringLayout.java | 10 ++++------
1 file changed, 4 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/a4132697/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/AbstractStringLayout.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/AbstractStringLayout.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/AbstractStringLayout.java
index ce2b7b0..84dbd69 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/AbstractStringLayout.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/AbstractStringLayout.java
@@ -16,12 +16,6 @@
*/
package org.apache.logging.log4j.core.layout;
-import java.io.UnsupportedEncodingException;
-import java.nio.ByteBuffer;
-import java.nio.CharBuffer;
-import java.nio.charset.Charset;
-import java.nio.charset.StandardCharsets;
-
import org.apache.logging.log4j.core.LogEvent;
import org.apache.logging.log4j.core.StringLayout;
import org.apache.logging.log4j.core.config.Configuration;
@@ -29,6 +23,10 @@ import org.apache.logging.log4j.core.config.LoggerConfig;
import org.apache.logging.log4j.core.util.StringEncoder;
import org.apache.logging.log4j.util.Strings;
+import java.io.UnsupportedEncodingException;
+import java.nio.charset.Charset;
+import java.nio.charset.StandardCharsets;
+
/**
* Abstract base class for Layouts that result in a String.
* <p>
[12/14] logging-log4j2 git commit: Remove untested code
Posted by mi...@apache.org.
Remove untested code
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/0df5b93f
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/0df5b93f
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/0df5b93f
Branch: refs/heads/master
Commit: 0df5b93f89c2df02be40ddb2cbddaa0e910e9897
Parents: 20b9009
Author: Mikael Ståldal <mi...@magine.com>
Authored: Tue Mar 22 12:54:30 2016 +0100
Committer: Mikael Ståldal <mi...@magine.com>
Committed: Tue Mar 22 12:54:30 2016 +0100
----------------------------------------------------------------------
.../log4j/core/layout/AbstractStringLayout.java | 20 +++++---------------
.../logging/log4j/core/layout/GelfLayout.java | 2 +-
2 files changed, 6 insertions(+), 16 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/0df5b93f/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/AbstractStringLayout.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/AbstractStringLayout.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/AbstractStringLayout.java
index a31df97..4d1e4c0 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/AbstractStringLayout.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/AbstractStringLayout.java
@@ -77,6 +77,11 @@ public abstract class AbstractStringLayout extends AbstractLayout<String> implem
return result;
}
+ /**
+ * Returns a {@code TextEncoderHelper} that this Layout implementation can use for encoding log events.
+ *
+ * @return a {@code TextEncoderHelper}
+ */
protected TextEncoderHelper getCachedTextEncoderHelper() {
TextEncoderHelper result = textEncoderHelper.get();
if (result == null) {
@@ -161,26 +166,11 @@ public abstract class AbstractStringLayout extends AbstractLayout<String> implem
}
}
- protected byte[] getBytes(final CharSequence cseq) {
- if (useCustomEncoding) { // rely on branch prediction to eliminate this check if false
- return StringEncoder.encodeSingleByteChars(cseq);
- }
- ByteBuffer byteBuffer = charset.encode(CharBuffer.wrap(cseq));
- if (byteBuffer.hasArray()) {
- return byteBuffer.array();
- } else {
- byte[] bytes = new byte[byteBuffer.remaining()];
- byteBuffer.get(bytes);
- return bytes;
- }
- }
-
@Override
public Charset getCharset() {
return charset;
}
-
/**
* @return The default content type for Strings.
*/
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/0df5b93f/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 de48431..7942ebb 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
@@ -144,7 +144,7 @@ public final class GelfLayout extends AbstractStringLayout {
@Override
public byte[] toByteArray(final LogEvent event) {
StringBuilder text = toText(event, getStringBuilder());
- final byte[] bytes = getBytes(text);
+ final byte[] bytes = getBytes(text.toString());
return compressionType != CompressionType.OFF && bytes.length > compressionThreshold ? compress(bytes) : bytes;
}
[03/14] logging-log4j2 git commit: Merge branch 'master' into
gelf-layout-gc-free
Posted by mi...@apache.org.
Merge branch 'master' into gelf-layout-gc-free
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/76fe804f
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/76fe804f
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/76fe804f
Branch: refs/heads/master
Commit: 76fe804f9aead3b1ed2ab62355c389d28b4c80d3
Parents: 1c0de0e db76923
Author: Mikael Ståldal <mi...@magine.com>
Authored: Tue Mar 8 11:23:16 2016 +0100
Committer: Mikael Ståldal <mi...@magine.com>
Committed: Tue Mar 8 11:23:16 2016 +0100
----------------------------------------------------------------------
log4j-1.2-api/src/site/xdoc/index.xml | 3 +-
.../org/apache/logging/log4j/MarkerManager.java | 49 +-
.../log4j/message/ObjectArrayMessage.java | 4 +-
.../logging/log4j/message/ObjectMessage.java | 6 +-
.../log4j/message/ParameterFormatter.java | 533 +++++++++
.../log4j/message/ParameterizedMessage.java | 619 ++--------
.../message/ParameterizedMessageFactory.java | 2 +-
.../logging/log4j/message/ReusableMessage.java | 33 +
.../log4j/message/ReusableMessageFactory.java | 123 ++
.../log4j/message/ReusableObjectMessage.java | 94 ++
.../message/ReusableParameterizedMessage.java | 245 ++++
.../log4j/message/ReusableSimpleMessage.java | 60 +
.../logging/log4j/simple/SimpleLogger.java | 10 +-
.../logging/log4j/spi/AbstractLogger.java | 37 +-
.../apache/logging/log4j/util/LoaderUtil.java | 2 +-
.../logging/log4j/util/LowLevelLogUtil.java | 67 ++
.../log4j/util/PerformanceSensitive.java | 4 +-
.../logging/log4j/util/PropertiesUtil.java | 34 +-
.../java/org/apache/log4j/util/SerialUtil.java | 65 -
.../java/org/apache/log4j/util/StringsTest.java | 36 -
.../logging/log4j/AbstractLoggerTest.java | 18 +
.../logging/log4j/LoggerSupplierTest.java | 24 +-
.../org/apache/logging/log4j/LoggerTest.java | 1107 +++++++++---------
.../java/org/apache/logging/log4j/Timer.java | 184 ++-
.../logging/log4j/junit/BundleTestInfo.java | 66 ++
.../org/apache/logging/log4j/junit/Mutable.java | 35 +
.../apache/logging/log4j/junit/OsgiRule.java | 68 ++
.../apache/logging/log4j/junit/SerialUtil.java | 65 +
.../log4j/message/FormattedMessageTest.java | 1 +
.../log4j/message/LocalizedMessageTest.java | 1 +
.../log4j/message/MessageFormatMessageTest.java | 1 +
.../apache/logging/log4j/message/Mutable.java | 34 -
.../log4j/message/ObjectMessageTest.java | 3 +-
.../log4j/message/ParameterizedMessageTest.java | 22 +-
.../message/ReusableObjectMessageTest.java | 122 ++
.../message/ReusableSimpleMessageTest.java | 122 ++
.../message/StringFormattedMessageTest.java | 1 +
.../log4j/osgi/AbstractLoadBundleTest.java | 2 +
.../logging/log4j/osgi/BundleTestInfo.java | 80 --
.../org/apache/logging/log4j/osgi/OsgiRule.java | 69 --
.../logging/log4j/util/PropertiesUtilTest.java | 65 +
.../logging/log4j/util/ReflectionUtilTest.java | 2 +
.../apache/logging/log4j/util/StringsTest.java | 9 +
.../resources/PropertiesUtilTest.properties | 29 +
.../logging/log4j/core/AbstractLifeCycle.java | 6 +-
.../logging/log4j/core/AbstractLogEvent.java | 10 +
.../org/apache/logging/log4j/core/Appender.java | 8 +
.../org/apache/logging/log4j/core/Layout.java | 3 +-
.../org/apache/logging/log4j/core/LogEvent.java | 18 +-
.../org/apache/logging/log4j/core/Logger.java | 17 +
.../logging/log4j/core/LoggerContext.java | 1 -
.../log4j/core/appender/AbstractAppender.java | 2 -
.../appender/AbstractOutputStreamAppender.java | 2 -
.../core/appender/AbstractWriterAppender.java | 2 -
.../log4j/core/appender/AsyncAppender.java | 1 -
.../log4j/core/appender/ConsoleAppender.java | 3 +-
.../core/appender/DefaultErrorHandler.java | 5 +-
.../log4j/core/appender/FailoverAppender.java | 2 -
.../log4j/core/appender/FileAppender.java | 1 -
.../core/appender/MemoryMappedFileAppender.java | 2 -
.../core/appender/OutputStreamAppender.java | 2 -
.../core/appender/RandomAccessFileAppender.java | 2 -
.../core/appender/RollingFileAppender.java | 1 -
.../RollingRandomAccessFileAppender.java | 3 -
.../log4j/core/appender/SmtpAppender.java | 1 -
.../log4j/core/appender/SocketAppender.java | 2 -
.../log4j/core/appender/SyslogAppender.java | 1 -
.../log4j/core/appender/WriterAppender.java | 2 -
.../appender/db/AbstractDatabaseAppender.java | 1 -
.../core/appender/db/jdbc/JdbcAppender.java | 1 -
.../db/jpa/AbstractLogEventWrapperEntity.java | 20 +
.../appender/db/jpa/BasicLogEventEntity.java | 22 +
.../log4j/core/appender/db/jpa/JpaAppender.java | 12 +-
.../log4j/core/appender/mom/JmsAppender.java | 11 +-
.../log4j/core/appender/mom/JmsManager.java | 2 +-
.../appender/mom/jeromq/JeroMqAppender.java | 234 +---
.../core/appender/mom/jeromq/JeroMqManager.java | 220 ++++
.../core/appender/mom/kafka/KafkaAppender.java | 22 +-
.../core/appender/mom/kafka/KafkaManager.java | 4 +
.../core/appender/rewrite/RewriteAppender.java | 2 -
.../rolling/DefaultRolloverStrategy.java | 4 +-
.../rolling/RollingRandomAccessFileManager.java | 2 +-
.../action/PathSortByModificationTime.java | 6 +-
.../core/appender/routing/IdlePurgePolicy.java | 99 +-
.../core/appender/routing/RoutingAppender.java | 3 +-
.../core/async/AsyncEventRouterFactory.java | 10 +-
.../logging/log4j/core/async/AsyncLogger.java | 24 +-
.../log4j/core/async/AsyncLoggerConfig.java | 6 +-
.../log4j/core/async/AsyncLoggerContext.java | 2 -
.../logging/log4j/core/async/DisruptorUtil.java | 9 +-
.../log4j/core/async/RingBufferLogEvent.java | 104 +-
.../async/RingBufferLogEventTranslator.java | 28 +-
.../core/async/ThreadNameCachingStrategy.java | 5 +-
.../core/config/AbstractConfiguration.java | 41 +-
.../log4j/core/config/AppenderControl.java | 1 -
.../core/config/AppenderControlArraySet.java | 4 +
.../log4j/core/config/ConfigurationAware.java | 33 +
.../core/config/ConfigurationScheduler.java | 1 -
.../core/config/ConfiguratonFileWatcher.java | 4 +-
.../log4j/core/config/CronScheduledFuture.java | 12 +-
.../log4j/core/config/DefaultAdvertiser.java | 5 +-
.../log4j/core/config/DefaultConfiguration.java | 2 -
.../logging/log4j/core/config/LoggerConfig.java | 52 +-
.../log4j/core/config/NullConfiguration.java | 1 -
.../log4j/core/config/OrderComparator.java | 4 +-
.../builder/api/AppenderComponentBuilder.java | 9 +-
.../api/AppenderRefComponentBuilder.java | 9 +-
.../api/CompositeFilterComponentBuilder.java | 14 +-
.../builder/api/FilterableComponentBuilder.java | 34 +
.../builder/api/LoggableComponentBuilder.java | 33 +
.../builder/api/LoggerComponentBuilder.java | 16 +-
.../builder/api/RootLoggerComponentBuilder.java | 16 +-
.../core/config/builder/api/package-info.java | 2 +
.../config/builder/impl/BuiltConfiguration.java | 17 +-
.../impl/DefaultAppenderComponentBuilder.java | 2 +
.../DefaultAppenderRefComponentBuilder.java | 2 +
...DefaultComponentAndConfigurationBuilder.java | 2 +
.../builder/impl/DefaultComponentBuilder.java | 22 +-
.../DefaultCompositeFilterComponentBuilder.java | 2 +-
.../impl/DefaultConfigurationBuilder.java | 16 +-
.../DefaultCustomLevelComponentBuilder.java | 2 +-
.../impl/DefaultFilterComponentBuilder.java | 2 +-
.../impl/DefaultLayoutComponentBuilder.java | 2 +-
.../impl/DefaultLoggerComponentBuilder.java | 4 +-
.../impl/DefaultRootLoggerComponentBuilder.java | 4 +-
.../impl/DefaultScriptComponentBuilder.java | 2 +-
.../impl/DefaultScriptFileComponentBuilder.java | 2 +
.../core/config/builder/impl/package-info.java | 2 +
.../core/config/json/JsonConfiguration.java | 551 +++++----
.../config/plugins/processor/PluginEntry.java | 2 +-
.../core/config/plugins/util/PluginBuilder.java | 11 +-
.../properties/PropertiesConfiguration.java | 6 +-
.../PropertiesConfigurationBuilder.java | 298 +++++
.../PropertiesConfigurationFactory.java | 378 +-----
.../core/config/status/StatusConfiguration.java | 4 +-
.../log4j/core/config/xml/XmlConfiguration.java | 16 +-
.../core/config/yaml/YamlConfiguration.java | 2 -
.../log4j/core/filter/AbstractFilter.java | 2 -
.../log4j/core/filter/AbstractFilterable.java | 2 -
.../logging/log4j/core/filter/BurstFilter.java | 7 +-
.../log4j/core/filter/CompositeFilter.java | 2 -
.../core/filter/DynamicThresholdFilter.java | 2 -
.../log4j/core/filter/LevelRangeFilter.java | 2 -
.../logging/log4j/core/filter/MapFilter.java | 2 -
.../logging/log4j/core/filter/MarkerFilter.java | 2 -
.../logging/log4j/core/filter/RegexFilter.java | 2 -
.../logging/log4j/core/filter/ScriptFilter.java | 1 -
.../log4j/core/filter/StructuredDataFilter.java | 2 -
.../core/filter/ThreadContextMapFilter.java | 2 -
.../log4j/core/filter/ThresholdFilter.java | 2 -
.../logging/log4j/core/filter/TimeFilter.java | 37 +-
.../logging/log4j/core/impl/Log4jLogEvent.java | 96 +-
.../log4j/core/jackson/LogEventMixIn.java | 10 +
.../apache/logging/log4j/core/jmx/Server.java | 1 -
.../log4j/core/layout/AbstractCsvLayout.java | 1 -
.../core/layout/AbstractJacksonLayout.java | 1 -
.../log4j/core/layout/AbstractLayout.java | 4 +-
.../log4j/core/layout/AbstractStringLayout.java | 18 +-
.../log4j/core/layout/CsvLogEventLayout.java | 4 +-
.../log4j/core/layout/CsvParameterLayout.java | 2 -
.../logging/log4j/core/layout/GelfLayout.java | 1 -
.../logging/log4j/core/layout/HtmlLayout.java | 1 -
.../logging/log4j/core/layout/JsonLayout.java | 2 -
.../log4j/core/layout/PatternLayout.java | 8 +-
.../logging/log4j/core/layout/PatternMatch.java | 20 +-
.../log4j/core/layout/Rfc5424Layout.java | 2 -
.../log4j/core/layout/SerializedLayout.java | 2 -
.../logging/log4j/core/layout/SyslogLayout.java | 2 -
.../log4j/core/layout/TextEncoderHelper.java | 19 +-
.../logging/log4j/core/layout/XmlLayout.java | 2 -
.../AbstractConfigurationAwareLookup.java | 35 +
.../logging/log4j/core/lookup/Interpolator.java | 6 +-
.../logging/log4j/core/lookup/Log4jLookup.java | 60 +-
.../logging/log4j/core/lookup/MapLookup.java | 2 +-
.../log4j/core/lookup/StrSubstitutor.java | 19 +-
.../apache/logging/log4j/core/net/Facility.java | 131 ++-
.../log4j/core/net/MimeMessageBuilder.java | 15 +-
.../log4j/core/net/MulticastDnsAdvertiser.java | 34 +-
.../apache/logging/log4j/core/net/Severity.java | 2 +-
.../logging/log4j/core/net/SmtpManager.java | 10 +-
.../log4j/core/net/SslSocketManager.java | 2 +-
.../core/net/mom/jms/AbstractJmsReceiver.java | 48 +
.../core/net/mom/jms/JmsQueueReceiver.java | 45 +-
.../core/net/mom/jms/JmsTopicReceiver.java | 44 +-
.../log4j/core/net/server/JmsServer.java | 24 +
.../logging/log4j/core/osgi/Activator.java | 6 +-
.../logging/log4j/core/pattern/AnsiEscape.java | 2 +-
.../core/pattern/DatePatternConverter.java | 4 +-
.../log4j/core/pattern/MaxLengthConverter.java | 103 ++
.../core/pattern/MessagePatternConverter.java | 17 +
.../log4j/core/pattern/NdcPatternConverter.java | 52 +-
.../core/pattern/ThreadIdPatternConverter.java | 61 +
.../pattern/ThreadNamePatternConverter.java | 59 +
.../core/pattern/ThreadPatternConverter.java | 59 -
.../pattern/ThreadPriorityPatternConverter.java | 61 +
.../util/DefaultShutdownCallbackRegistry.java | 4 +-
.../core/util/ExtensionLanguageMapping.java | 8 +-
.../logging/log4j/core/util/KeyValuePair.java | 25 +-
.../logging/log4j/core/util/ReflectionUtil.java | 4 +-
.../logging/log4j/core/util/StringEncoder.java | 2 +-
.../logging/log4j/core/util/WatchManager.java | 13 +-
.../core/util/datetime/FixedDateFormat.java | 6 +-
log4j-core/src/main/resources/Log4j-events.dtd | 4 +-
log4j-core/src/main/resources/Log4j-events.xsd | 2 +
.../log4j/core/BasicConfigurationFactory.java | 1 -
.../apache/logging/log4j/core/LogEventTest.java | 2 +
.../apache/logging/log4j/core/LoggerTest.java | 5 +-
.../log4j/core/TimestampMessageTest.java | 7 +-
.../MemoryMappedFileAppenderLocationTest.java | 2 +-
.../MemoryMappedFileAppenderRemapTest.java | 2 +-
.../MemoryMappedFileAppenderSimpleTest.java | 2 +-
...ingRandomAccessFileAppenderRolloverTest.java | 13 +-
.../log4j/core/appender/SmtpAppenderTest.java | 24 +-
.../db/AbstractDatabaseAppenderTest.java | 2 -
.../core/appender/db/jpa/JpaH2AppenderTest.java | 2 +-
.../db/jpa/JpaHyperSqlAppenderTest.java | 2 +-
.../core/appender/db/jpa/TestBaseEntity.java | 12 +
.../appender/mom/jeromq/JeroMqAppenderTest.java | 18 +-
.../appender/rolling/PatternProcessorTest.java | 1 -
...ollingAppenderNoUnconditionalDeleteTest.java | 22 +-
.../routing/PropertiesRoutingAppenderTest.java | 1 +
.../appender/routing/RoutingAppenderTest.java | 1 +
.../routing/RoutingAppenderWithPurgingTest.java | 13 +-
.../routing/RoutingDefaultAppenderTest.java | 1 +
.../core/async/RingBufferLogEventTest.java | 10 +-
.../async/perftest/CountingNoOpAppender.java | 52 +
.../log4j/core/async/perftest/PerfTest.java | 8 +-
.../core/async/perftest/PerfTestDriver.java | 2 +-
.../async/perftest/PerfTestResultFormatter.java | 4 +-
.../core/async/perftest/SimplePerfTest.bat | 20 +
.../core/async/perftest/SimplePerfTest.java | 88 ++
.../log4j/core/async/perftest/SimplePerfTest.sh | 22 +
.../log4j/core/config/ConfigurationTest.java | 3 +-
.../core/config/CustomConfigurationTest.java | 2 +-
...DynamicThresholdFilterSerializationTest.java | 47 -
.../log4j/core/impl/Log4jLogEventTest.java | 3 +-
.../core/layout/SerializableLayoutTest.java | 66 --
.../log4j/core/lookup/Log4jLookupTest.java | 32 +-
.../core/lookup/Log4jLookupWithSpacesTest.java | 16 +-
.../log4j/core/lookup/MapLookupTest.java | 25 +
.../log4j/core/net/server/ThreadIdFilter.java | 40 +
.../log4j/core/net/server/ThreadNameFilter.java | 3 +
.../core/net/server/ThreadPriorityFilter.java | 40 +
.../core/pattern/MaxLengthConverterTest.java | 73 ++
.../log4j/core/pattern/PatternParserTest.java | 60 +
.../pattern/ThreadIdPatternConverterTest.java | 39 +
.../pattern/ThreadNamePatternConverterTest.java | 39 +
.../ThreadPriorityPatternConverterTest.java | 39 +
.../log4j/core/util/CronExpressionTest.java | 1 -
.../util/KeyValuePairSerializationTest.java | 39 -
.../log4j/core/util/PropertiesUtilTest.java | 42 -
.../log4j/core/util/WatchManagerTest.java | 8 +-
.../apache/logging/log4j/junit/CleanFiles.java | 15 +-
.../log4j/test/appender/AlwaysFailAppender.java | 2 -
.../logging/log4j/test/layout/BasicLayout.java | 1 -
.../log4j/test/layout/SerializableLayout.java | 48 -
.../src/test/resources/JeroMqAppenderTest.xml | 3 +-
.../src/test/resources/log4j-routing.properties | 9 -
.../log4j-scriptFile-filters.properties | 8 -
.../src/test/resources/log4j-test1.properties | 58 +
.../log4j2-properties-root-only.properties | 6 -
.../test/resources/log4j2-properties.properties | 9 -
.../resources/perf-CountingNoOpAppender.xml | 12 +
.../log4j/flume/appender/FlumeAppender.java | 1 -
.../log4j/flume/appender/FlumeEvent.java | 18 +
log4j-flume-ng/src/site/xdoc/index.xml.vm | 1 +
log4j-iostreams/src/site/xdoc/index.xml | 1 +
.../logging/log4j/io/AbstractStreamTest.java | 2 +-
log4j-jcl/src/site/xdoc/index.xml | 3 +-
log4j-jmx-gui/src/site/xdoc/index.xml | 3 +-
.../log4j/jul/DefaultLevelConverter.java | 4 +-
log4j-jul/src/site/xdoc/index.xml | 1 +
.../logging/log4j/jul/AbstractLoggerTest.java | 4 +-
log4j-liquibase/src/site/xdoc/index.xml | 3 +-
.../log4j/nosql/appender/NoSqlAppender.java | 1 -
.../nosql/appender/NoSqlDatabaseManager.java | 2 +
log4j-nosql/src/site/xdoc/index.xml.vm | 1 +
.../appender/NoSqlDatabaseManagerTest.java | 6 +
.../log4j/perf/jmh/CollectionsBenchmark.java | 12 +-
.../log4j/perf/jmh/LoggerConfigBenchmark.java | 8 +-
.../perf/jmh/ParameterizedMessageBenchmark.java | 289 +----
.../ParameterizedMessageInliningBenchmark.java | 332 ++++++
.../perf/jmh/TextEncoderHelperBenchmark.java | 243 ++++
.../perf/jmh/ThreadLocalVsPoolBenchmark.java | 2 +-
.../logging/log4j/perf/nogc/AbstractLogger.java | 3 +-
.../logging/log4j/perf/nogc/DemoAppender.java | 3 +-
.../logging/log4j/perf/nogc/NoGcLayout.java | 7 +-
.../logging/log4j/perf/nogc/NoGcLogger.java | 2 +-
.../logging/log4j/perf/nogc/NoGcMessage.java | 6 +-
.../perf/nogc/NoGcMessagePatternConverter.java | 3 -
.../log4j/perf/nogc/ParameterizedMessage.java | 757 ++++++++++++
.../CustomConfigurationFactory.java | 2 -
.../configuration/CustomConfigurationTest.java | 2 +-
.../org/apache/logging/slf4j/Log4jLogger.java | 3 +-
log4j-slf4j-impl/src/site/xdoc/index.xml | 3 +-
.../org/apache/logging/slf4j/Log4j1222Test.java | 1 -
log4j-taglib/src/site/xdoc/index.xml | 3 +-
.../logging/log4j/taglib/CatchingTagTest.java | 6 +-
.../logging/log4j/taglib/EnterTagTest.java | 79 ++
.../logging/log4j/taglib/EntryTagTest.java | 79 --
.../slf4j/SLF4JLoggerContextFactory.java | 3 +-
log4j-to-slf4j/src/site/xdoc/index.xml | 7 +-
.../log4j/web/Log4jServletContextListener.java | 3 +-
.../log4j/web/Log4jWebInitializerImpl.java | 2 -
.../log4j/web/appender/ServletAppender.java | 2 -
log4j-web/src/site/xdoc/index.xml | 3 +-
.../web/Log4jServletContextListenerTest.java | 11 -
pom.xml | 2 +-
src/changes/changes.xml | 45 +
src/site/xdoc/manual/configuration.xml.vm | 20 +-
src/site/xdoc/manual/layouts.xml.vm | 66 +-
311 files changed, 7190 insertions(+), 3979 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/76fe804f/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/GelfLayout.java
----------------------------------------------------------------------
[09/14] logging-log4j2 git commit: Use ByteBuffer properly
Posted by mi...@apache.org.
Use ByteBuffer properly
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/a2b5ed02
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/a2b5ed02
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/a2b5ed02
Branch: refs/heads/master
Commit: a2b5ed02f6b31de9926f9db3e0094a543e490c11
Parents: 821e620
Author: Mikael Ståldal <mi...@magine.com>
Authored: Wed Mar 9 10:06:13 2016 +0100
Committer: Mikael Ståldal <mi...@magine.com>
Committed: Wed Mar 9 10:06:13 2016 +0100
----------------------------------------------------------------------
.../apache/logging/log4j/test/appender/EncodingListAppender.java | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/a2b5ed02/log4j-core/src/test/java/org/apache/logging/log4j/test/appender/EncodingListAppender.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/test/appender/EncodingListAppender.java b/log4j-core/src/test/java/org/apache/logging/log4j/test/appender/EncodingListAppender.java
index 810e18f..2e93a1c 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/test/appender/EncodingListAppender.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/test/appender/EncodingListAppender.java
@@ -47,14 +47,14 @@ public class EncodingListAppender extends ListAppender {
Destination content = new Destination();
content.byteBuffer.put(layout.getHeader());
layout.encode(event, content);
- content.getByteBuffer().rewind();
+ content.getByteBuffer().flip();
byte[] record = new byte[content.getByteBuffer().remaining()];
content.getByteBuffer().get(record);
data.add(record);
} else {
Destination content = new Destination();
layout.encode(event, content);
- content.getByteBuffer().rewind();
+ content.getByteBuffer().flip();
byte[] record = new byte[content.getByteBuffer().remaining()];
content.getByteBuffer().get(record);
write(record);
[04/14] logging-log4j2 git commit: Revert imports
Posted by mi...@apache.org.
Revert imports
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/31102698
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/31102698
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/31102698
Branch: refs/heads/master
Commit: 31102698018370d888b703f304a2a8f54915c9c2
Parents: 76fe804
Author: Mikael Ståldal <mi...@magine.com>
Authored: Tue Mar 8 11:27:30 2016 +0100
Committer: Mikael Ståldal <mi...@magine.com>
Committed: Tue Mar 8 11:27:30 2016 +0100
----------------------------------------------------------------------
.../logging/log4j/core/layout/GelfLayout.java | 24 ++++++++++----------
1 file changed, 12 insertions(+), 12 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/31102698/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 2301936..f107eb2 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,7 +16,17 @@
*/
package org.apache.logging.log4j.core.layout;
-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;
import org.apache.logging.log4j.Level;
import org.apache.logging.log4j.core.Layout;
@@ -31,17 +41,7 @@ import org.apache.logging.log4j.core.util.KeyValuePair;
import org.apache.logging.log4j.status.StatusLogger;
import org.apache.logging.log4j.util.Strings;
-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;
/**
* Lays out events in the Graylog Extended Log Format (GELF) 1.1.
[11/14] logging-log4j2 git commit: Merge branch 'master' into
gelf-layout-gc-free
Posted by mi...@apache.org.
Merge branch 'master' into gelf-layout-gc-free
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/20b90093
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/20b90093
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/20b90093
Branch: refs/heads/master
Commit: 20b90093151b0df7b405666232e0f59b7c91f450
Parents: a5b00b3 03910c6
Author: Mikael Ståldal <mi...@magine.com>
Authored: Tue Mar 22 11:29:38 2016 +0100
Committer: Mikael Ståldal <mi...@magine.com>
Committed: Tue Mar 22 11:29:38 2016 +0100
----------------------------------------------------------------------
.../org/apache/logging/log4j/LogManager.java | 4 +-
.../logging/log4j/spi/AbstractLogger.java | 11 +-
log4j-core/pom.xml | 6 +
.../log4j/core/appender/AsyncAppender.java | 5 +-
.../rolling/DefaultRolloverStrategy.java | 186 ++++++++++---------
.../log4j/core/async/AsyncEventRouter.java | 7 +-
.../core/async/AsyncEventRouterFactory.java | 44 ++---
.../logging/log4j/core/async/AsyncLogger.java | 165 +++++++---------
.../log4j/core/async/AsyncLoggerConfig.java | 6 +-
.../core/async/AsyncLoggerConfigDelegate.java | 2 +
.../core/async/AsyncLoggerConfigDisruptor.java | 10 +-
.../log4j/core/async/AsyncLoggerDisruptor.java | 8 +-
.../core/async/DefaultAsyncEventRouter.java | 5 +-
.../core/async/DiscardingAsyncEventRouter.java | 35 +---
.../logging/log4j/core/async/EventRoute.java | 4 +-
.../log4j/core/async/RingBufferLogEvent.java | 21 ++-
.../async/RingBufferLogEventTranslator.java | 53 ++----
.../log4j/core/filter/CompositeFilter.java | 76 ++++----
.../logging/log4j/core/lookup/JndiLookup.java | 5 +-
.../core/pattern/ClassNamePatternConverter.java | 2 +-
.../core/pattern/LoggerPatternConverter.java | 2 +-
.../log4j/core/pattern/NameAbbreviator.java | 53 +++---
.../core/pattern/NamePatternConverter.java | 7 +-
.../log4j/core/util/ObjectArrayIterator.java | 179 ++++++++++++++++++
.../log4j/core/CustomLevelsWithFiltersTest.java | 8 +-
.../logging/log4j/core/GcFreeLoggingTest.java | 131 +++++++++++++
.../core/async/AsyncEventRouterFactoryTest.java | 57 +-----
.../core/async/DefaultAsyncEventRouterTest.java | 25 +--
.../async/DiscardingAsyncEventRouterTest.java | 79 +++-----
.../log4j/core/async/perftest/SimplePerfTest.sh | 32 +++-
.../log4j/core/pattern/NameAbbreviatorTest.java | 14 +-
.../appender/FlumeEmbeddedAppenderTest.java | 10 +-
log4j-jmx-gui/pom.xml | 4 +-
pom.xml | 8 +-
src/changes/changes.xml | 8 +-
src/site/xdoc/manual/async.xml | 8 +-
src/site/xdoc/manual/configuration.xml.vm | 28 +--
src/site/xdoc/manual/migration.xml | 24 ++-
38 files changed, 795 insertions(+), 537 deletions(-)
----------------------------------------------------------------------
[13/14] logging-log4j2 git commit: Make TextEncoder cache an instance
field since it depends on Charset
Posted by mi...@apache.org.
Make TextEncoder cache an instance field since it depends on Charset
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/654212c0
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/654212c0
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/654212c0
Branch: refs/heads/master
Commit: 654212c04bf1f7d4c576753aab334d23fd8f705c
Parents: 0df5b93
Author: Mikael Ståldal <mi...@magine.com>
Authored: Tue Mar 22 12:55:04 2016 +0100
Committer: Mikael Ståldal <mi...@magine.com>
Committed: Tue Mar 22 12:55:04 2016 +0100
----------------------------------------------------------------------
.../org/apache/logging/log4j/core/layout/AbstractStringLayout.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/654212c0/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/AbstractStringLayout.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/AbstractStringLayout.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/AbstractStringLayout.java
index 4d1e4c0..ce2b7b0 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/AbstractStringLayout.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/AbstractStringLayout.java
@@ -60,7 +60,7 @@ public abstract class AbstractStringLayout extends AbstractLayout<String> implem
private static final ThreadLocal<StringBuilder> threadLocal = new ThreadLocal<>();
- private static final ThreadLocal<TextEncoderHelper> textEncoderHelper = new ThreadLocal<>();
+ private final ThreadLocal<TextEncoderHelper> textEncoderHelper = new ThreadLocal<>();
/**
* Returns a {@code StringBuilder} that this Layout implementation can use to write the formatted log event to.