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/04/18 13:44:16 UTC
[01/12] logging-log4j2 git commit: CharSequenceFormattable
Repository: logging-log4j2
Updated Branches:
refs/heads/master d3e571f37 -> 86934ca41
CharSequenceFormattable
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/07723d5c
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/07723d5c
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/07723d5c
Branch: refs/heads/master
Commit: 07723d5cf7078300b63bae462f5557d11705d3fe
Parents: 90adca7
Author: Mikael Ståldal <mi...@magine.com>
Authored: Wed Apr 13 17:53:40 2016 +0200
Committer: Mikael Ståldal <mi...@magine.com>
Committed: Wed Apr 13 17:53:40 2016 +0200
----------------------------------------------------------------------
.../logging/log4j/message/ObjectMessage.java | 16 ++++++++--
.../log4j/message/ParameterizedMessage.java | 18 +++++++++--
.../logging/log4j/message/ReusableMessage.java | 3 +-
.../log4j/message/ReusableObjectMessage.java | 9 ++++++
.../message/ReusableParameterizedMessage.java | 10 ++++--
.../log4j/message/ReusableSimpleMessage.java | 5 +++
.../logging/log4j/message/SimpleMessage.java | 13 +++++---
.../log4j/message/ThreadDumpMessage.java | 19 ++++++++---
.../log4j/util/CharSequenceFormattable.java | 33 ++++++++++++++++++++
.../log4j/core/async/RingBufferLogEvent.java | 14 ++++++---
.../logging/log4j/core/layout/GelfLayout.java | 6 ++--
11 files changed, 122 insertions(+), 24 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/07723d5c/log4j-api/src/main/java/org/apache/logging/log4j/message/ObjectMessage.java
----------------------------------------------------------------------
diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/message/ObjectMessage.java b/log4j-api/src/main/java/org/apache/logging/log4j/message/ObjectMessage.java
index db8c31b..11e2731 100644
--- a/log4j-api/src/main/java/org/apache/logging/log4j/message/ObjectMessage.java
+++ b/log4j-api/src/main/java/org/apache/logging/log4j/message/ObjectMessage.java
@@ -16,17 +16,18 @@
*/
package org.apache.logging.log4j.message;
+import org.apache.logging.log4j.util.CharSequenceFormattable;
+import org.apache.logging.log4j.util.StringBuilderFormattable;
+
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
-import org.apache.logging.log4j.util.StringBuilderFormattable;
-
/**
* Handles messages that contain an Object.
*/
-public class ObjectMessage implements Message, StringBuilderFormattable {
+public class ObjectMessage implements Message, StringBuilderFormattable, CharSequenceFormattable {
private static final long serialVersionUID = -5903272448334166185L;
@@ -69,6 +70,15 @@ public class ObjectMessage implements Message, StringBuilderFormattable {
}
}
+ @Override
+ public CharSequence getFormattedCharSequence() {
+ if (obj instanceof CharSequence) {
+ return (CharSequence) obj;
+ } else {
+ return getFormattedMessage();
+ }
+ }
+
/**
* Returns the object formatted using its toString method.
*
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/07723d5c/log4j-api/src/main/java/org/apache/logging/log4j/message/ParameterizedMessage.java
----------------------------------------------------------------------
diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/message/ParameterizedMessage.java b/log4j-api/src/main/java/org/apache/logging/log4j/message/ParameterizedMessage.java
index 6c5b8e7..4e8648e 100644
--- a/log4j-api/src/main/java/org/apache/logging/log4j/message/ParameterizedMessage.java
+++ b/log4j-api/src/main/java/org/apache/logging/log4j/message/ParameterizedMessage.java
@@ -16,10 +16,11 @@
*/
package org.apache.logging.log4j.message;
-import java.util.Arrays;
-
+import org.apache.logging.log4j.util.CharSequenceFormattable;
import org.apache.logging.log4j.util.StringBuilderFormattable;
+import java.util.Arrays;
+
/**
* Handles messages that consist of a format string containing '{}' to represent each replaceable token, and
* the parameters.
@@ -28,7 +29,7 @@ import org.apache.logging.log4j.util.StringBuilderFormattable;
* licensed under the LGPL. It has been relicensed here with his permission providing that this attribution remain.
* </p>
*/
-public class ParameterizedMessage implements Message, StringBuilderFormattable {
+public class ParameterizedMessage implements Message, StringBuilderFormattable, CharSequenceFormattable {
/**
* Prefix for recursion.
*/
@@ -219,6 +220,17 @@ public class ParameterizedMessage implements Message, StringBuilderFormattable {
}
}
+ @Override
+ public CharSequence getFormattedCharSequence() {
+ if (formattedMessage != null) {
+ return formattedMessage;
+ } else {
+ final StringBuilder buffer = getThreadLocalStringBuilder();
+ formatTo(buffer);
+ return buffer;
+ }
+ }
+
/**
* Replace placeholders in the given messagePattern with arguments.
*
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/07723d5c/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableMessage.java
----------------------------------------------------------------------
diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableMessage.java b/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableMessage.java
index a6da9c4..ad1fc6d 100644
--- a/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableMessage.java
+++ b/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableMessage.java
@@ -16,6 +16,7 @@
*/
package org.apache.logging.log4j.message;
+import org.apache.logging.log4j.util.CharSequenceFormattable;
import org.apache.logging.log4j.util.PerformanceSensitive;
import org.apache.logging.log4j.util.StringBuilderFormattable;
@@ -29,5 +30,5 @@ import org.apache.logging.log4j.util.StringBuilderFormattable;
* @since 2.6
*/
@PerformanceSensitive("allocation")
-public interface ReusableMessage extends Message, StringBuilderFormattable {
+public interface ReusableMessage extends Message, StringBuilderFormattable, CharSequenceFormattable {
}
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/07723d5c/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableObjectMessage.java
----------------------------------------------------------------------
diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableObjectMessage.java b/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableObjectMessage.java
index 12f62f4..d40bb00 100644
--- a/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableObjectMessage.java
+++ b/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableObjectMessage.java
@@ -57,6 +57,15 @@ public class ReusableObjectMessage implements ReusableMessage {
}
}
+ @Override
+ public CharSequence getFormattedCharSequence() {
+ if (obj instanceof CharSequence) {
+ return (CharSequence) obj;
+ } else {
+ return getFormattedMessage();
+ }
+ }
+
/**
* Returns the object formatted using its toString method.
*
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/07723d5c/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableParameterizedMessage.java
----------------------------------------------------------------------
diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableParameterizedMessage.java b/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableParameterizedMessage.java
index 0c099cf..bd084e0 100644
--- a/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableParameterizedMessage.java
+++ b/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableParameterizedMessage.java
@@ -16,10 +16,10 @@
*/
package org.apache.logging.log4j.message;
-import java.util.Arrays;
-
import org.apache.logging.log4j.util.PerformanceSensitive;
+import java.util.Arrays;
+
/**
* Reusable parameterized message. This message is mutable and is not safe to be accessed or modified by multiple
* threads concurrently.
@@ -257,6 +257,12 @@ public class ReusableParameterizedMessage implements ReusableMessage {
}
}
+ @Override
+ public CharSequence getFormattedCharSequence() {
+ final StringBuilder sb = getBuffer();
+ formatTo(sb);
+ return sb;
+ }
@Override
public String toString() {
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/07723d5c/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableSimpleMessage.java
----------------------------------------------------------------------
diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableSimpleMessage.java b/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableSimpleMessage.java
index a0954dc..68bf7ba 100644
--- a/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableSimpleMessage.java
+++ b/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableSimpleMessage.java
@@ -60,5 +60,10 @@ public class ReusableSimpleMessage implements ReusableMessage {
public void formatTo(final StringBuilder buffer) {
buffer.append(charSequence);
}
+
+ @Override
+ public CharSequence getFormattedCharSequence() {
+ return charSequence;
+ }
}
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/07723d5c/log4j-api/src/main/java/org/apache/logging/log4j/message/SimpleMessage.java
----------------------------------------------------------------------
diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/message/SimpleMessage.java b/log4j-api/src/main/java/org/apache/logging/log4j/message/SimpleMessage.java
index 31d35b1..44dc15e 100644
--- a/log4j-api/src/main/java/org/apache/logging/log4j/message/SimpleMessage.java
+++ b/log4j-api/src/main/java/org/apache/logging/log4j/message/SimpleMessage.java
@@ -16,17 +16,17 @@
*/
package org.apache.logging.log4j.message;
+import org.apache.logging.log4j.util.CharSequenceFormattable;
+import org.apache.logging.log4j.util.StringBuilderFormattable;
+
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
-import java.io.Serializable;
-
-import org.apache.logging.log4j.util.StringBuilderFormattable;
/**
* The simplest possible implementation of Message. It just returns the String given as the constructor argument.
*/
-public class SimpleMessage implements Message, StringBuilderFormattable {
+public class SimpleMessage implements Message, StringBuilderFormattable, CharSequenceFormattable {
private static final long serialVersionUID = -8398002534962715992L;
private String message;
@@ -74,6 +74,11 @@ public class SimpleMessage implements Message, StringBuilderFormattable {
buffer.append(charSequence);
}
+ @Override
+ public CharSequence getFormattedCharSequence() {
+ return charSequence;
+ }
+
/**
* Returns the message.
* @return the message.
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/07723d5c/log4j-api/src/main/java/org/apache/logging/log4j/message/ThreadDumpMessage.java
----------------------------------------------------------------------
diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/message/ThreadDumpMessage.java b/log4j-api/src/main/java/org/apache/logging/log4j/message/ThreadDumpMessage.java
index 67f0d5f..2a9b193 100644
--- a/log4j-api/src/main/java/org/apache/logging/log4j/message/ThreadDumpMessage.java
+++ b/log4j-api/src/main/java/org/apache/logging/log4j/message/ThreadDumpMessage.java
@@ -16,6 +16,10 @@
*/
package org.apache.logging.log4j.message;
+import org.apache.logging.log4j.util.CharSequenceFormattable;
+import org.apache.logging.log4j.util.StringBuilderFormattable;
+import org.apache.logging.log4j.util.Strings;
+
import java.io.InvalidObjectException;
import java.io.ObjectInputStream;
import java.io.Serializable;
@@ -26,13 +30,10 @@ import java.lang.reflect.Method;
import java.util.HashMap;
import java.util.Map;
-import org.apache.logging.log4j.util.StringBuilderFormattable;
-import org.apache.logging.log4j.util.Strings;
-
/**
* Captures information about all running Threads.
*/
-public class ThreadDumpMessage implements Message, StringBuilderFormattable {
+public class ThreadDumpMessage implements Message, StringBuilderFormattable, CharSequenceFormattable {
private static final long serialVersionUID = -1103400781608841088L;
@@ -103,6 +104,16 @@ public class ThreadDumpMessage implements Message, StringBuilderFormattable {
}
}
+ @Override
+ public CharSequence getFormattedCharSequence() {
+ if (formattedMessage != null) {
+ return formattedMessage;
+ }
+ final StringBuilder sb = new StringBuilder(255);
+ formatTo(sb);
+ return sb;
+ }
+
/**
* Returns the title.
* @return the title.
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/07723d5c/log4j-api/src/main/java/org/apache/logging/log4j/util/CharSequenceFormattable.java
----------------------------------------------------------------------
diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/util/CharSequenceFormattable.java b/log4j-api/src/main/java/org/apache/logging/log4j/util/CharSequenceFormattable.java
new file mode 100644
index 0000000..b14289d
--- /dev/null
+++ b/log4j-api/src/main/java/org/apache/logging/log4j/util/CharSequenceFormattable.java
@@ -0,0 +1,33 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache license, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the license for the specific language governing permissions and
+ * limitations under the license.
+ */
+package org.apache.logging.log4j.util;
+
+/**
+ * Objects that implement this interface can be converted to text, ideally without allocating temporary objects.
+ *
+ * @since 2.6
+ */
+public interface CharSequenceFormattable {
+
+ /**
+ * Return a text representation of this object, ideally without allocating temporary objects or copying strings.
+ *
+ * This may return a shared buffer (such as a {@link StringBuilder}). The caller should quickly consume
+ * the data and not keep any reference to the returned {@link CharSequence}.
+ */
+ CharSequence getFormattedCharSequence();
+}
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/07723d5c/log4j-core/src/main/java/org/apache/logging/log4j/core/async/RingBufferLogEvent.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/async/RingBufferLogEvent.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/async/RingBufferLogEvent.java
index f3ad22f..2b79e1b 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/async/RingBufferLogEvent.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/async/RingBufferLogEvent.java
@@ -16,10 +16,7 @@
*/
package org.apache.logging.log4j.core.async;
-import java.io.IOException;
-import java.util.HashMap;
-import java.util.Map;
-
+import com.lmax.disruptor.EventFactory;
import org.apache.logging.log4j.Level;
import org.apache.logging.log4j.Marker;
import org.apache.logging.log4j.ThreadContext.ContextStack;
@@ -36,7 +33,9 @@ import org.apache.logging.log4j.message.TimestampMessage;
import org.apache.logging.log4j.util.PropertiesUtil;
import org.apache.logging.log4j.util.Strings;
-import com.lmax.disruptor.EventFactory;
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.Map;
/**
* When the Disruptor is started, the RingBuffer is populated with event objects. These objects are then re-used during
@@ -242,6 +241,11 @@ public class RingBufferLogEvent implements LogEvent, ReusableMessage {
buffer.append(messageText);
}
+ @Override
+ public CharSequence getFormattedCharSequence() {
+ return messageText;
+ }
+
private Message getNonNullImmutableMessage() {
return message != null ? message : new SimpleMessage(String.valueOf(messageText));
}
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/07723d5c/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 cef4e46..9ee522b 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
@@ -25,11 +25,11 @@ 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.JsonUtils;
import org.apache.logging.log4j.core.util.KeyValuePair;
import org.apache.logging.log4j.message.Message;
import org.apache.logging.log4j.status.StatusLogger;
+import org.apache.logging.log4j.util.CharSequenceFormattable;
import org.apache.logging.log4j.util.StringBuilderFormattable;
import org.apache.logging.log4j.util.Strings;
@@ -217,7 +217,9 @@ public final class GelfLayout extends AbstractStringLayout {
builder.append("\"short_message\":\"");
Message message = event.getMessage();
- if (gcFree && message instanceof StringBuilderFormattable) {
+ if (message instanceof CharSequenceFormattable) {
+ JsonUtils.quoteAsString(toNullSafeString(((CharSequenceFormattable)message).getFormattedCharSequence()), builder);
+ } else if (gcFree && message instanceof StringBuilderFormattable) {
StringBuilder messageBuffer = getMessageStringBuilder();
((StringBuilderFormattable)message).formatTo(messageBuffer);
JsonUtils.quoteAsString(messageBuffer, builder);
[07/12] logging-log4j2 git commit: Merge branch 'master' into
LOG4J2-1365
Posted by mi...@apache.org.
Merge branch 'master' into LOG4J2-1365
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/0ec82b7b
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/0ec82b7b
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/0ec82b7b
Branch: refs/heads/master
Commit: 0ec82b7b66bfd028eb11ab972a98b3e8555a167f
Parents: f68acc5 71fbda8
Author: Mikael Ståldal <mi...@magine.com>
Authored: Fri Apr 15 14:24:36 2016 +0200
Committer: Mikael Ståldal <mi...@magine.com>
Committed: Fri Apr 15 14:24:36 2016 +0200
----------------------------------------------------------------------
.../logging/log4j/core/impl/Log4jLogEvent.java | 14 +-
.../log4j/core/impl/MutableLogEvent.java | 171 +++++++++++++++++--
2 files changed, 166 insertions(+), 19 deletions(-)
----------------------------------------------------------------------
[05/12] logging-log4j2 git commit: Merge branch 'master' into
LOG4J2-1365
Posted by mi...@apache.org.
Merge branch 'master' into LOG4J2-1365
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/02cde275
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/02cde275
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/02cde275
Branch: refs/heads/master
Commit: 02cde27594d15128b4a958bb0192d31b84512cb8
Parents: 5f52590 8f5e275
Author: Mikael Ståldal <mi...@magine.com>
Authored: Thu Apr 14 15:13:02 2016 +0200
Committer: Mikael Ståldal <mi...@magine.com>
Committed: Thu Apr 14 15:13:02 2016 +0200
----------------------------------------------------------------------
.../log4j/perf/jmh/GelfLayoutBenchmark.java | 75 ++++++++++++++++++++
.../src/main/resources/log4j2-gelf-perf.xml | 30 ++++++++
2 files changed, 105 insertions(+)
----------------------------------------------------------------------
[09/12] logging-log4j2 git commit: Use CharSequence instead of
CharSequenceFormattable
Posted by mi...@apache.org.
Use CharSequence instead of CharSequenceFormattable
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/85a46bbe
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/85a46bbe
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/85a46bbe
Branch: refs/heads/master
Commit: 85a46bbe78b749ea14dd2a70cc809932271f5dea
Parents: 299f488
Author: Mikael Ståldal <mi...@magine.com>
Authored: Fri Apr 15 16:23:11 2016 +0200
Committer: Mikael Ståldal <mi...@magine.com>
Committed: Fri Apr 15 16:23:11 2016 +0200
----------------------------------------------------------------------
.../log4j/message/ReusableSimpleMessage.java | 20 +++++++++---
.../logging/log4j/message/SimpleMessage.java | 27 +++++++++++-----
.../log4j/util/CharSequenceFormattable.java | 33 --------------------
.../log4j/core/async/RingBufferLogEvent.java | 21 ++++++++++---
.../logging/log4j/core/layout/GelfLayout.java | 5 ++-
5 files changed, 55 insertions(+), 51 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/85a46bbe/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableSimpleMessage.java
----------------------------------------------------------------------
diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableSimpleMessage.java b/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableSimpleMessage.java
index 2dd46d2..ed6e39e 100644
--- a/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableSimpleMessage.java
+++ b/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableSimpleMessage.java
@@ -16,7 +16,6 @@
*/
package org.apache.logging.log4j.message;
-import org.apache.logging.log4j.util.CharSequenceFormattable;
import org.apache.logging.log4j.util.PerformanceSensitive;
/**
@@ -24,7 +23,7 @@ import org.apache.logging.log4j.util.PerformanceSensitive;
* @since 2.6
*/
@PerformanceSensitive("allocation")
-public class ReusableSimpleMessage implements ReusableMessage, CharSequenceFormattable {
+public class ReusableSimpleMessage implements ReusableMessage, CharSequence {
private static final long serialVersionUID = -9199974506498249809L;
private static Object[] EMPTY_PARAMS = new Object[0];
private CharSequence charSequence;
@@ -62,9 +61,22 @@ public class ReusableSimpleMessage implements ReusableMessage, CharSequenceForma
buffer.append(charSequence);
}
+
+ // CharSequence impl
+
+ @Override
+ public int length() {
+ return charSequence == null ? 0 : charSequence.length();
+ }
+
+ @Override
+ public char charAt(int index) {
+ return charSequence.charAt(index);
+ }
+
@Override
- public CharSequence getFormattedCharSequence() {
- return charSequence;
+ public CharSequence subSequence(int start, int end) {
+ return charSequence.subSequence(start, end);
}
}
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/85a46bbe/log4j-api/src/main/java/org/apache/logging/log4j/message/SimpleMessage.java
----------------------------------------------------------------------
diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/message/SimpleMessage.java b/log4j-api/src/main/java/org/apache/logging/log4j/message/SimpleMessage.java
index 44dc15e..e26c506 100644
--- a/log4j-api/src/main/java/org/apache/logging/log4j/message/SimpleMessage.java
+++ b/log4j-api/src/main/java/org/apache/logging/log4j/message/SimpleMessage.java
@@ -16,7 +16,6 @@
*/
package org.apache.logging.log4j.message;
-import org.apache.logging.log4j.util.CharSequenceFormattable;
import org.apache.logging.log4j.util.StringBuilderFormattable;
import java.io.IOException;
@@ -26,7 +25,7 @@ import java.io.ObjectOutputStream;
/**
* The simplest possible implementation of Message. It just returns the String given as the constructor argument.
*/
-public class SimpleMessage implements Message, StringBuilderFormattable, CharSequenceFormattable {
+public class SimpleMessage implements Message, StringBuilderFormattable, CharSequence {
private static final long serialVersionUID = -8398002534962715992L;
private String message;
@@ -74,11 +73,6 @@ public class SimpleMessage implements Message, StringBuilderFormattable, CharSeq
buffer.append(charSequence);
}
- @Override
- public CharSequence getFormattedCharSequence() {
- return charSequence;
- }
-
/**
* Returns the message.
* @return the message.
@@ -131,6 +125,25 @@ public class SimpleMessage implements Message, StringBuilderFormattable, CharSeq
return null;
}
+
+ // CharSequence impl
+
+ @Override
+ public int length() {
+ return charSequence == null ? 0 : charSequence.length();
+ }
+
+ @Override
+ public char charAt(int index) {
+ return charSequence.charAt(index);
+ }
+
+ @Override
+ public CharSequence subSequence(int start, int end) {
+ return charSequence.subSequence(start, end);
+ }
+
+
private void writeObject(final ObjectOutputStream out) throws IOException {
getFormattedMessage(); // initialize the message:String field
out.defaultWriteObject();
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/85a46bbe/log4j-api/src/main/java/org/apache/logging/log4j/util/CharSequenceFormattable.java
----------------------------------------------------------------------
diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/util/CharSequenceFormattable.java b/log4j-api/src/main/java/org/apache/logging/log4j/util/CharSequenceFormattable.java
deleted file mode 100644
index b14289d..0000000
--- a/log4j-api/src/main/java/org/apache/logging/log4j/util/CharSequenceFormattable.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements. See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache license, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the license for the specific language governing permissions and
- * limitations under the license.
- */
-package org.apache.logging.log4j.util;
-
-/**
- * Objects that implement this interface can be converted to text, ideally without allocating temporary objects.
- *
- * @since 2.6
- */
-public interface CharSequenceFormattable {
-
- /**
- * Return a text representation of this object, ideally without allocating temporary objects or copying strings.
- *
- * This may return a shared buffer (such as a {@link StringBuilder}). The caller should quickly consume
- * the data and not keep any reference to the returned {@link CharSequence}.
- */
- CharSequence getFormattedCharSequence();
-}
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/85a46bbe/log4j-core/src/main/java/org/apache/logging/log4j/core/async/RingBufferLogEvent.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/async/RingBufferLogEvent.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/async/RingBufferLogEvent.java
index 873efc6..9504e8a 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/async/RingBufferLogEvent.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/async/RingBufferLogEvent.java
@@ -30,7 +30,6 @@ import org.apache.logging.log4j.message.Message;
import org.apache.logging.log4j.message.ReusableMessage;
import org.apache.logging.log4j.message.SimpleMessage;
import org.apache.logging.log4j.message.TimestampMessage;
-import org.apache.logging.log4j.util.CharSequenceFormattable;
import org.apache.logging.log4j.util.PropertiesUtil;
import org.apache.logging.log4j.util.Strings;
@@ -42,7 +41,7 @@ import java.util.Map;
* When the Disruptor is started, the RingBuffer is populated with event objects. These objects are then re-used during
* the life of the RingBuffer.
*/
-public class RingBufferLogEvent implements LogEvent, ReusableMessage, CharSequenceFormattable {
+public class RingBufferLogEvent implements LogEvent, ReusableMessage, CharSequence {
/** The {@code EventFactory} for {@code RingBufferLogEvent}s. */
public static final Factory FACTORY = new Factory();
@@ -242,11 +241,25 @@ public class RingBufferLogEvent implements LogEvent, ReusableMessage, CharSequen
buffer.append(messageText);
}
+
+ // CharSequence impl
+
@Override
- public CharSequence getFormattedCharSequence() {
- return messageText;
+ public int length() {
+ return messageText.length();
+ }
+
+ @Override
+ public char charAt(int index) {
+ return messageText.charAt(index);
}
+ @Override
+ public CharSequence subSequence(int start, int end) {
+ return messageText.subSequence(start, end);
+ }
+
+
private Message getNonNullImmutableMessage() {
return message != null ? message : new SimpleMessage(String.valueOf(messageText));
}
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/85a46bbe/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 1854004..24ab6c4 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
@@ -29,7 +29,6 @@ import org.apache.logging.log4j.core.util.JsonUtils;
import org.apache.logging.log4j.core.util.KeyValuePair;
import org.apache.logging.log4j.message.Message;
import org.apache.logging.log4j.status.StatusLogger;
-import org.apache.logging.log4j.util.CharSequenceFormattable;
import org.apache.logging.log4j.util.StringBuilderFormattable;
import org.apache.logging.log4j.util.Strings;
@@ -221,8 +220,8 @@ public final class GelfLayout extends AbstractStringLayout {
builder.append("\"short_message\":\"");
Message message = event.getMessage();
- if (message instanceof CharSequenceFormattable) {
- JsonUtils.quoteAsString(toNullSafeString(((CharSequenceFormattable)message).getFormattedCharSequence()), builder);
+ if (message instanceof CharSequence) {
+ JsonUtils.quoteAsString(((CharSequence)message), builder);
} else if (gcFree && message instanceof StringBuilderFormattable) {
StringBuilder messageBuffer = getMessageStringBuilder();
((StringBuilderFormattable)message).formatTo(messageBuffer);
[08/12] logging-log4j2 git commit: Remove CharSequenceFormattable
from ParameterizedMessages
Posted by mi...@apache.org.
Remove CharSequenceFormattable from ParameterizedMessages
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/299f488d
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/299f488d
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/299f488d
Branch: refs/heads/master
Commit: 299f488dceb9035892e5f4a3d68cf5c1a801dcee
Parents: 0ec82b7
Author: Mikael Ståldal <mi...@magine.com>
Authored: Fri Apr 15 14:48:07 2016 +0200
Committer: Mikael Ståldal <mi...@magine.com>
Committed: Fri Apr 15 14:48:07 2016 +0200
----------------------------------------------------------------------
.../logging/log4j/message/ParameterizedMessage.java | 14 +-------------
.../log4j/message/ReusableParameterizedMessage.java | 10 +---------
2 files changed, 2 insertions(+), 22 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/299f488d/log4j-api/src/main/java/org/apache/logging/log4j/message/ParameterizedMessage.java
----------------------------------------------------------------------
diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/message/ParameterizedMessage.java b/log4j-api/src/main/java/org/apache/logging/log4j/message/ParameterizedMessage.java
index 4e8648e..1747102 100644
--- a/log4j-api/src/main/java/org/apache/logging/log4j/message/ParameterizedMessage.java
+++ b/log4j-api/src/main/java/org/apache/logging/log4j/message/ParameterizedMessage.java
@@ -16,7 +16,6 @@
*/
package org.apache.logging.log4j.message;
-import org.apache.logging.log4j.util.CharSequenceFormattable;
import org.apache.logging.log4j.util.StringBuilderFormattable;
import java.util.Arrays;
@@ -29,7 +28,7 @@ import java.util.Arrays;
* licensed under the LGPL. It has been relicensed here with his permission providing that this attribution remain.
* </p>
*/
-public class ParameterizedMessage implements Message, StringBuilderFormattable, CharSequenceFormattable {
+public class ParameterizedMessage implements Message, StringBuilderFormattable {
/**
* Prefix for recursion.
*/
@@ -220,17 +219,6 @@ public class ParameterizedMessage implements Message, StringBuilderFormattable,
}
}
- @Override
- public CharSequence getFormattedCharSequence() {
- if (formattedMessage != null) {
- return formattedMessage;
- } else {
- final StringBuilder buffer = getThreadLocalStringBuilder();
- formatTo(buffer);
- return buffer;
- }
- }
-
/**
* Replace placeholders in the given messagePattern with arguments.
*
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/299f488d/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableParameterizedMessage.java
----------------------------------------------------------------------
diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableParameterizedMessage.java b/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableParameterizedMessage.java
index c4c15d5..22b0b15 100644
--- a/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableParameterizedMessage.java
+++ b/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableParameterizedMessage.java
@@ -16,7 +16,6 @@
*/
package org.apache.logging.log4j.message;
-import org.apache.logging.log4j.util.CharSequenceFormattable;
import org.apache.logging.log4j.util.PerformanceSensitive;
import java.util.Arrays;
@@ -29,7 +28,7 @@ import java.util.Arrays;
* @since 2.6
*/
@PerformanceSensitive("allocation")
-public class ReusableParameterizedMessage implements ReusableMessage, CharSequenceFormattable {
+public class ReusableParameterizedMessage implements ReusableMessage {
private static final long serialVersionUID = 7800075879295123856L;
private static ThreadLocal<StringBuilder> buffer = new ThreadLocal<>();
@@ -259,13 +258,6 @@ public class ReusableParameterizedMessage implements ReusableMessage, CharSequen
}
@Override
- public CharSequence getFormattedCharSequence() {
- final StringBuilder sb = getBuffer();
- formatTo(sb);
- return sb;
- }
-
- @Override
public String toString() {
return "ReusableParameterizedMessage[messagePattern=" + getFormat() + ", stringArgs=" +
Arrays.toString(getParameters()) + ", throwable=" + getThrowable() + ']';
[03/12] logging-log4j2 git commit: Do not use CharSequenceFormattable
for (Reusable)ObjectMessage
Posted by mi...@apache.org.
Do not use CharSequenceFormattable for (Reusable)ObjectMessage
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/149da7f8
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/149da7f8
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/149da7f8
Branch: refs/heads/master
Commit: 149da7f8d05b3d400a30447aa15c0858c7aea12c
Parents: 8b59f23
Author: Mikael Ståldal <mi...@magine.com>
Authored: Thu Apr 14 10:49:17 2016 +0200
Committer: Mikael Ståldal <mi...@magine.com>
Committed: Thu Apr 14 10:49:17 2016 +0200
----------------------------------------------------------------------
.../apache/logging/log4j/message/ObjectMessage.java | 12 +-----------
.../apache/logging/log4j/message/ReusableMessage.java | 3 +--
.../logging/log4j/message/ReusableObjectMessage.java | 9 ---------
.../log4j/message/ReusableParameterizedMessage.java | 3 ++-
.../logging/log4j/message/ReusableSimpleMessage.java | 3 ++-
.../logging/log4j/message/ThreadDumpMessage.java | 13 +------------
.../logging/log4j/core/async/RingBufferLogEvent.java | 3 ++-
7 files changed, 9 insertions(+), 37 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/149da7f8/log4j-api/src/main/java/org/apache/logging/log4j/message/ObjectMessage.java
----------------------------------------------------------------------
diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/message/ObjectMessage.java b/log4j-api/src/main/java/org/apache/logging/log4j/message/ObjectMessage.java
index 11e2731..eaeb445 100644
--- a/log4j-api/src/main/java/org/apache/logging/log4j/message/ObjectMessage.java
+++ b/log4j-api/src/main/java/org/apache/logging/log4j/message/ObjectMessage.java
@@ -16,7 +16,6 @@
*/
package org.apache.logging.log4j.message;
-import org.apache.logging.log4j.util.CharSequenceFormattable;
import org.apache.logging.log4j.util.StringBuilderFormattable;
import java.io.IOException;
@@ -27,7 +26,7 @@ import java.io.Serializable;
/**
* Handles messages that contain an Object.
*/
-public class ObjectMessage implements Message, StringBuilderFormattable, CharSequenceFormattable {
+public class ObjectMessage implements Message, StringBuilderFormattable {
private static final long serialVersionUID = -5903272448334166185L;
@@ -70,15 +69,6 @@ public class ObjectMessage implements Message, StringBuilderFormattable, CharSeq
}
}
- @Override
- public CharSequence getFormattedCharSequence() {
- if (obj instanceof CharSequence) {
- return (CharSequence) obj;
- } else {
- return getFormattedMessage();
- }
- }
-
/**
* Returns the object formatted using its toString method.
*
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/149da7f8/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableMessage.java
----------------------------------------------------------------------
diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableMessage.java b/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableMessage.java
index ad1fc6d..a6da9c4 100644
--- a/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableMessage.java
+++ b/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableMessage.java
@@ -16,7 +16,6 @@
*/
package org.apache.logging.log4j.message;
-import org.apache.logging.log4j.util.CharSequenceFormattable;
import org.apache.logging.log4j.util.PerformanceSensitive;
import org.apache.logging.log4j.util.StringBuilderFormattable;
@@ -30,5 +29,5 @@ import org.apache.logging.log4j.util.StringBuilderFormattable;
* @since 2.6
*/
@PerformanceSensitive("allocation")
-public interface ReusableMessage extends Message, StringBuilderFormattable, CharSequenceFormattable {
+public interface ReusableMessage extends Message, StringBuilderFormattable {
}
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/149da7f8/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableObjectMessage.java
----------------------------------------------------------------------
diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableObjectMessage.java b/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableObjectMessage.java
index d40bb00..12f62f4 100644
--- a/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableObjectMessage.java
+++ b/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableObjectMessage.java
@@ -57,15 +57,6 @@ public class ReusableObjectMessage implements ReusableMessage {
}
}
- @Override
- public CharSequence getFormattedCharSequence() {
- if (obj instanceof CharSequence) {
- return (CharSequence) obj;
- } else {
- return getFormattedMessage();
- }
- }
-
/**
* Returns the object formatted using its toString method.
*
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/149da7f8/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableParameterizedMessage.java
----------------------------------------------------------------------
diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableParameterizedMessage.java b/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableParameterizedMessage.java
index bd084e0..c4c15d5 100644
--- a/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableParameterizedMessage.java
+++ b/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableParameterizedMessage.java
@@ -16,6 +16,7 @@
*/
package org.apache.logging.log4j.message;
+import org.apache.logging.log4j.util.CharSequenceFormattable;
import org.apache.logging.log4j.util.PerformanceSensitive;
import java.util.Arrays;
@@ -28,7 +29,7 @@ import java.util.Arrays;
* @since 2.6
*/
@PerformanceSensitive("allocation")
-public class ReusableParameterizedMessage implements ReusableMessage {
+public class ReusableParameterizedMessage implements ReusableMessage, CharSequenceFormattable {
private static final long serialVersionUID = 7800075879295123856L;
private static ThreadLocal<StringBuilder> buffer = new ThreadLocal<>();
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/149da7f8/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableSimpleMessage.java
----------------------------------------------------------------------
diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableSimpleMessage.java b/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableSimpleMessage.java
index 68bf7ba..2dd46d2 100644
--- a/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableSimpleMessage.java
+++ b/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableSimpleMessage.java
@@ -16,6 +16,7 @@
*/
package org.apache.logging.log4j.message;
+import org.apache.logging.log4j.util.CharSequenceFormattable;
import org.apache.logging.log4j.util.PerformanceSensitive;
/**
@@ -23,7 +24,7 @@ import org.apache.logging.log4j.util.PerformanceSensitive;
* @since 2.6
*/
@PerformanceSensitive("allocation")
-public class ReusableSimpleMessage implements ReusableMessage {
+public class ReusableSimpleMessage implements ReusableMessage, CharSequenceFormattable {
private static final long serialVersionUID = -9199974506498249809L;
private static Object[] EMPTY_PARAMS = new Object[0];
private CharSequence charSequence;
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/149da7f8/log4j-api/src/main/java/org/apache/logging/log4j/message/ThreadDumpMessage.java
----------------------------------------------------------------------
diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/message/ThreadDumpMessage.java b/log4j-api/src/main/java/org/apache/logging/log4j/message/ThreadDumpMessage.java
index 2a9b193..3907443 100644
--- a/log4j-api/src/main/java/org/apache/logging/log4j/message/ThreadDumpMessage.java
+++ b/log4j-api/src/main/java/org/apache/logging/log4j/message/ThreadDumpMessage.java
@@ -16,7 +16,6 @@
*/
package org.apache.logging.log4j.message;
-import org.apache.logging.log4j.util.CharSequenceFormattable;
import org.apache.logging.log4j.util.StringBuilderFormattable;
import org.apache.logging.log4j.util.Strings;
@@ -33,7 +32,7 @@ import java.util.Map;
/**
* Captures information about all running Threads.
*/
-public class ThreadDumpMessage implements Message, StringBuilderFormattable, CharSequenceFormattable {
+public class ThreadDumpMessage implements Message, StringBuilderFormattable {
private static final long serialVersionUID = -1103400781608841088L;
@@ -104,16 +103,6 @@ public class ThreadDumpMessage implements Message, StringBuilderFormattable, Cha
}
}
- @Override
- public CharSequence getFormattedCharSequence() {
- if (formattedMessage != null) {
- return formattedMessage;
- }
- final StringBuilder sb = new StringBuilder(255);
- formatTo(sb);
- return sb;
- }
-
/**
* Returns the title.
* @return the title.
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/149da7f8/log4j-core/src/main/java/org/apache/logging/log4j/core/async/RingBufferLogEvent.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/main/java/org/apache/logging/log4j/core/async/RingBufferLogEvent.java b/log4j-core/src/main/java/org/apache/logging/log4j/core/async/RingBufferLogEvent.java
index 2b79e1b..873efc6 100644
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/async/RingBufferLogEvent.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/async/RingBufferLogEvent.java
@@ -30,6 +30,7 @@ import org.apache.logging.log4j.message.Message;
import org.apache.logging.log4j.message.ReusableMessage;
import org.apache.logging.log4j.message.SimpleMessage;
import org.apache.logging.log4j.message.TimestampMessage;
+import org.apache.logging.log4j.util.CharSequenceFormattable;
import org.apache.logging.log4j.util.PropertiesUtil;
import org.apache.logging.log4j.util.Strings;
@@ -41,7 +42,7 @@ import java.util.Map;
* When the Disruptor is started, the RingBuffer is populated with event objects. These objects are then re-used during
* the life of the RingBuffer.
*/
-public class RingBufferLogEvent implements LogEvent, ReusableMessage {
+public class RingBufferLogEvent implements LogEvent, ReusableMessage, CharSequenceFormattable {
/** The {@code EventFactory} for {@code RingBufferLogEvent}s. */
public static final Factory FACTORY = new Factory();
[06/12] logging-log4j2 git commit: Merge branch 'master' into
LOG4J2-1365
Posted by mi...@apache.org.
Merge branch 'master' into LOG4J2-1365
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/f68acc5c
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/f68acc5c
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/f68acc5c
Branch: refs/heads/master
Commit: f68acc5c77f0ac490fe3639f75061fe910fe26f9
Parents: 02cde27 aaaaaad
Author: Mikael Ståldal <mi...@magine.com>
Authored: Thu Apr 14 16:02:24 2016 +0200
Committer: Mikael Ståldal <mi...@magine.com>
Committed: Thu Apr 14 16:02:24 2016 +0200
----------------------------------------------------------------------
.../log4j/perf/jmh/GelfLayoutBenchmark.java | 67 +++++++++++++-----
.../logging/log4j/perf/util/DemoAppender.java | 71 ++++++++++++++++++++
.../src/main/resources/log4j2-gelf-perf.xml | 30 ---------
3 files changed, 122 insertions(+), 46 deletions(-)
----------------------------------------------------------------------
[10/12] logging-log4j2 git commit: Revert insignificant changes
Posted by mi...@apache.org.
Revert insignificant changes
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/dae9d798
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/dae9d798
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/dae9d798
Branch: refs/heads/master
Commit: dae9d798f235b05a665d3af1c2cfe24616d248a8
Parents: 85a46bb
Author: Mikael Ståldal <mi...@magine.com>
Authored: Fri Apr 15 16:25:17 2016 +0200
Committer: Mikael Ståldal <mi...@magine.com>
Committed: Fri Apr 15 16:25:40 2016 +0200
----------------------------------------------------------------------
.../org/apache/logging/log4j/message/ParameterizedMessage.java | 4 ++--
.../logging/log4j/message/ReusableParameterizedMessage.java | 5 +++--
2 files changed, 5 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/dae9d798/log4j-api/src/main/java/org/apache/logging/log4j/message/ParameterizedMessage.java
----------------------------------------------------------------------
diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/message/ParameterizedMessage.java b/log4j-api/src/main/java/org/apache/logging/log4j/message/ParameterizedMessage.java
index 1747102..6c5b8e7 100644
--- a/log4j-api/src/main/java/org/apache/logging/log4j/message/ParameterizedMessage.java
+++ b/log4j-api/src/main/java/org/apache/logging/log4j/message/ParameterizedMessage.java
@@ -16,10 +16,10 @@
*/
package org.apache.logging.log4j.message;
-import org.apache.logging.log4j.util.StringBuilderFormattable;
-
import java.util.Arrays;
+import org.apache.logging.log4j.util.StringBuilderFormattable;
+
/**
* Handles messages that consist of a format string containing '{}' to represent each replaceable token, and
* the parameters.
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/dae9d798/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableParameterizedMessage.java
----------------------------------------------------------------------
diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableParameterizedMessage.java b/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableParameterizedMessage.java
index 22b0b15..0c099cf 100644
--- a/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableParameterizedMessage.java
+++ b/log4j-api/src/main/java/org/apache/logging/log4j/message/ReusableParameterizedMessage.java
@@ -16,10 +16,10 @@
*/
package org.apache.logging.log4j.message;
-import org.apache.logging.log4j.util.PerformanceSensitive;
-
import java.util.Arrays;
+import org.apache.logging.log4j.util.PerformanceSensitive;
+
/**
* Reusable parameterized message. This message is mutable and is not safe to be accessed or modified by multiple
* threads concurrently.
@@ -257,6 +257,7 @@ public class ReusableParameterizedMessage implements ReusableMessage {
}
}
+
@Override
public String toString() {
return "ReusableParameterizedMessage[messagePattern=" + getFormat() + ", stringArgs=" +
[11/12] logging-log4j2 git commit: Merge branch 'master' into
LOG4J2-1365
Posted by mi...@apache.org.
Merge branch 'master' into LOG4J2-1365
Conflicts:
log4j-api/src/main/java/org/apache/logging/log4j/message/SimpleMessage.java
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/86f30cfc
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/86f30cfc
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/86f30cfc
Branch: refs/heads/master
Commit: 86f30cfcf1f816f2b491cfab74959049363c7a48
Parents: dae9d79 d3e571f
Author: Mikael Ståldal <mi...@magine.com>
Authored: Mon Apr 18 13:27:17 2016 +0200
Committer: Mikael Ståldal <mi...@magine.com>
Committed: Mon Apr 18 13:27:17 2016 +0200
----------------------------------------------------------------------
.../ParameterizedNoReferenceMessageFactory.java | 39 +-
.../message/ReusableParameterizedMessage.java | 2 +-
.../logging/log4j/message/SimpleMessage.java | 3 +-
.../org/apache/logging/log4j/util/Strings.java | 12 +
.../org/apache/logging/log4j/util/Unbox.java | 2 -
.../log4j/message/ParameterFormatterTest.java | 2 -
.../apache/logging/log4j/util/UnboxTest.java | 2 +
log4j-core/pom.xml | 5 +
.../log4j/core/appender/AsyncAppender.java | 28 +-
.../log4j/core/appender/FileManager.java | 3 +-
.../core/appender/MemoryMappedFileManager.java | 3 +-
.../core/appender/OutputStreamManager.java | 7 +-
.../core/appender/RandomAccessFileManager.java | 3 +-
.../RollingRandomAccessFileAppender.java | 2 +-
.../core/appender/rolling/PatternProcessor.java | 1 +
.../appender/rolling/RollingFileManager.java | 4 +-
.../rolling/RollingRandomAccessFileManager.java | 3 +-
.../appender/rolling/action/DeleteAction.java | 432 +++++-----
.../core/async/AsyncEventRouterFactory.java | 2 -
.../log4j/core/async/AsyncLoggerConfig.java | 1 +
.../core/async/AsyncLoggerConfigDelegate.java | 10 +
.../core/async/AsyncLoggerConfigDisruptor.java | 66 +-
.../logging/log4j/core/async/EventRoute.java | 9 +-
.../log4j/core/async/RingBufferLogEvent.java | 15 +-
.../core/async/ThreadNameCachingStrategy.java | 4 +-
.../logging/log4j/core/config/LoggerConfig.java | 5 +-
.../logging/log4j/core/impl/Log4jLogEvent.java | 3 +-
.../log4j/core/impl/MutableLogEvent.java | 46 +-
.../core/impl/ReusableLogEventFactory.java | 34 +-
.../log4j/core/jackson/Initializers.java | 2 +-
.../log4j/core/jackson/Log4jYamlModule.java | 48 ++
.../core/jackson/Log4jYamlObjectMapper.java | 41 +
.../core/layout/AbstractJacksonLayout.java | 17 +-
.../core/layout/ByteBufferDestination.java | 8 +-
.../log4j/core/layout/CsvLogEventLayout.java | 213 +++--
.../log4j/core/layout/CsvParameterLayout.java | 207 +++--
.../logging/log4j/core/layout/GelfLayout.java | 9 +-
.../log4j/core/layout/JacksonFactory.java | 36 +-
.../layout/LockingStringBuilderEncoder.java | 3 +-
.../log4j/core/layout/StringBuilderEncoder.java | 3 +-
.../log4j/core/layout/TextEncoderHelper.java | 1 -
.../logging/log4j/core/layout/YamlLayout.java | 824 +++++++++++++++++++
.../logging/log4j/core/net/SmtpManager.java | 5 +-
.../log4j/core/net/server/TcpSocketServer.java | 19 +-
.../core/pattern/DatePatternConverter.java | 3 +-
.../ExtendedThrowablePatternConverter.java | 6 +-
.../pattern/RootThrowablePatternConverter.java | 6 +-
.../logging/log4j/core/util/Constants.java | 45 +-
.../logging/log4j/MarkerMixInYamlTest.java | 31 +
.../log4j/core/AppenderRefLevelJsonTest.java | 12 +-
.../log4j/core/AppenderRefLevelTest.java | 12 +-
.../core/GcFreeAsynchronousLoggingTest.java | 41 +
.../logging/log4j/core/GcFreeLoggingTest.java | 167 ----
.../log4j/core/GcFreeLoggingTestUtil.java | 170 ++++
.../core/GcFreeMixedSyncAyncLoggingTest.java | 43 +
.../core/GcFreeSynchronousLoggingTest.java | 42 +
.../apache/logging/log4j/core/LoggerTest.java | 12 +-
.../logging/log4j/core/LoggerUpdateTest.java | 4 +-
.../logging/log4j/core/PatternSelectorTest.java | 12 +-
.../logging/log4j/core/StrictXmlConfigTest.java | 13 +-
.../appender/JsonCompleteFileAppenderTest.java | 2 +-
.../log4j/core/appender/SocketAppenderTest.java | 2 +-
.../log4j/core/async/perftest/IdleStrategy.java | 43 +
.../core/async/perftest/NoOpIdleStrategy.java | 34 +
.../core/async/perftest/SimpleLatencyTest.java | 119 ++-
.../core/filter/AbstractScriptFilterTest.java | 4 +-
.../log4j/core/impl/MutableLogEventTest.java | 84 ++
.../log4j/core/jackson/LevelMixInJsonTest.java | 1 +
.../log4j/core/jackson/LevelMixInYamlTest.java | 29 +
.../jackson/StackTraceElementMixInTest.java | 5 +
.../log4j/core/layout/YamlLayoutTest.java | 287 +++++++
.../log4j/test/appender/ListAppender.java | 9 +-
.../resources/JsonCompleteFileAppenderTest.xml | 4 +-
.../resources/gcFreeMixedSyncAsyncLogging.xml | 71 ++
.../appender/NoSqlDatabaseManagerTest.java | 26 +-
.../message/ParameterFormatterBenchmark.java | 2 -
.../log4j/perf/jmh/CollectionsBenchmark.java | 12 +-
.../log4j/perf/jmh/LoggerConfigBenchmark.java | 2 +-
.../perf/jmh/TextEncoderHelperBenchmark.java | 2 +-
...ThreadLocalVsConcurrentHashMapBenchmark.java | 186 ++---
.../logging/log4j/perf/nogc/NoGcLayout.java | 1 -
.../logging/log4j/lookup/CustomLookup.java | 3 +-
.../logging/log4j/lookup/MapMessageLookup.java | 6 +-
.../org/apache/logging/slf4j/LoggerTest.java | 360 ++++----
.../log4j/web/ServletRequestThreadContext.java | 29 +
pom.xml | 5 +
src/changes/changes.xml | 3 +
src/site/site.xml | 1 +
src/site/xdoc/manual/layouts.xml.vm | 151 ++++
89 files changed, 3193 insertions(+), 1093 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/86f30cfc/log4j-api/src/main/java/org/apache/logging/log4j/message/SimpleMessage.java
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/86f30cfc/log4j-core/src/main/java/org/apache/logging/log4j/core/async/RingBufferLogEvent.java
----------------------------------------------------------------------
diff --cc log4j-core/src/main/java/org/apache/logging/log4j/core/async/RingBufferLogEvent.java
index 9504e8a,6929596..e1e6ab0
--- a/log4j-core/src/main/java/org/apache/logging/log4j/core/async/RingBufferLogEvent.java
+++ b/log4j-core/src/main/java/org/apache/logging/log4j/core/async/RingBufferLogEvent.java
@@@ -30,12 -33,9 +30,11 @@@ import org.apache.logging.log4j.message
import org.apache.logging.log4j.message.ReusableMessage;
import org.apache.logging.log4j.message.SimpleMessage;
import org.apache.logging.log4j.message.TimestampMessage;
- import org.apache.logging.log4j.util.PropertiesUtil;
import org.apache.logging.log4j.util.Strings;
-import com.lmax.disruptor.EventFactory;
+import java.io.IOException;
+import java.util.HashMap;
+import java.util.Map;
/**
* When the Disruptor is started, the RingBuffer is populated with event objects. These objects are then re-used during
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/86f30cfc/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/GelfLayout.java
----------------------------------------------------------------------
[04/12] logging-log4j2 git commit: Restore non-changed code
Posted by mi...@apache.org.
Restore non-changed 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/5f52590a
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/5f52590a
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/5f52590a
Branch: refs/heads/master
Commit: 5f52590a26eee63315dc6b946c4f07f34b22ea16
Parents: 149da7f
Author: Mikael Ståldal <mi...@magine.com>
Authored: Thu Apr 14 10:52:20 2016 +0200
Committer: Mikael Ståldal <mi...@magine.com>
Committed: Thu Apr 14 10:52:20 2016 +0200
----------------------------------------------------------------------
.../java/org/apache/logging/log4j/message/ObjectMessage.java | 4 ++--
.../org/apache/logging/log4j/message/ThreadDumpMessage.java | 6 +++---
2 files changed, 5 insertions(+), 5 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/5f52590a/log4j-api/src/main/java/org/apache/logging/log4j/message/ObjectMessage.java
----------------------------------------------------------------------
diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/message/ObjectMessage.java b/log4j-api/src/main/java/org/apache/logging/log4j/message/ObjectMessage.java
index eaeb445..db8c31b 100644
--- a/log4j-api/src/main/java/org/apache/logging/log4j/message/ObjectMessage.java
+++ b/log4j-api/src/main/java/org/apache/logging/log4j/message/ObjectMessage.java
@@ -16,13 +16,13 @@
*/
package org.apache.logging.log4j.message;
-import org.apache.logging.log4j.util.StringBuilderFormattable;
-
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
+import org.apache.logging.log4j.util.StringBuilderFormattable;
+
/**
* Handles messages that contain an Object.
*/
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/5f52590a/log4j-api/src/main/java/org/apache/logging/log4j/message/ThreadDumpMessage.java
----------------------------------------------------------------------
diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/message/ThreadDumpMessage.java b/log4j-api/src/main/java/org/apache/logging/log4j/message/ThreadDumpMessage.java
index 3907443..67f0d5f 100644
--- a/log4j-api/src/main/java/org/apache/logging/log4j/message/ThreadDumpMessage.java
+++ b/log4j-api/src/main/java/org/apache/logging/log4j/message/ThreadDumpMessage.java
@@ -16,9 +16,6 @@
*/
package org.apache.logging.log4j.message;
-import org.apache.logging.log4j.util.StringBuilderFormattable;
-import org.apache.logging.log4j.util.Strings;
-
import java.io.InvalidObjectException;
import java.io.ObjectInputStream;
import java.io.Serializable;
@@ -29,6 +26,9 @@ import java.lang.reflect.Method;
import java.util.HashMap;
import java.util.Map;
+import org.apache.logging.log4j.util.StringBuilderFormattable;
+import org.apache.logging.log4j.util.Strings;
+
/**
* Captures information about all running Threads.
*/
[02/12] logging-log4j2 git commit: Merge branch 'master' into
LOG4J2-1365
Posted by mi...@apache.org.
Merge branch 'master' into LOG4J2-1365
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/8b59f231
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/8b59f231
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/8b59f231
Branch: refs/heads/master
Commit: 8b59f231fc741e69578c4c6e63ac63a8eb06cf62
Parents: 07723d5 c3463a8
Author: Mikael Ståldal <mi...@magine.com>
Authored: Thu Apr 14 10:32:55 2016 +0200
Committer: Mikael Ståldal <mi...@magine.com>
Committed: Thu Apr 14 10:32:55 2016 +0200
----------------------------------------------------------------------
.../logging/log4j/core/impl/Log4jLogEvent.java | 28 +-
.../log4j/core/impl/MutableLogEvent.java | 199 +++++++++++++
.../core/impl/ReusableLogEventFactory.java | 80 ++++++
.../log4j/core/layout/AbstractStringLayout.java | 21 +-
.../logging/log4j/core/layout/GelfLayout.java | 10 +-
.../layout/LockingStringBuilderEncoder.java | 52 ++++
.../log4j/core/layout/PatternLayout.java | 5 +-
.../log4j/core/layout/StringBuilderEncoder.java | 111 ++++++++
.../log4j/core/layout/TextEncoderHelper.java | 153 +++++-----
.../core/layout/StringBuilderEncoderTest.java | 277 +++++++++++++++++++
.../core/layout/TextEncoderHelperTest.java | 263 ------------------
.../perf/jmh/TextEncoderHelperBenchmark.java | 97 ++++---
.../logging/log4j/perf/nogc/NoGcLayout.java | 11 +-
src/site/xdoc/manual/garbagefree.xml | 6 +-
14 files changed, 901 insertions(+), 412 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/8b59f231/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/GelfLayout.java
----------------------------------------------------------------------
[12/12] logging-log4j2 git commit: Fix compilation errors
Posted by mi...@apache.org.
Fix compilation errors
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/86934ca4
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/86934ca4
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/86934ca4
Branch: refs/heads/master
Commit: 86934ca41c41bb4cfc950b8fc1e65b0aab374ef6
Parents: 86f30cf
Author: Mikael Ståldal <mi...@magine.com>
Authored: Mon Apr 18 13:37:31 2016 +0200
Committer: Mikael Ståldal <mi...@magine.com>
Committed: Mon Apr 18 13:37:31 2016 +0200
----------------------------------------------------------------------
.../test/java/org/apache/logging/log4j/AbstractLoggerTest.java | 6 +++---
.../org/apache/logging/log4j/core/TimestampMessageTest.java | 3 ++-
.../log4j/core/async/AsyncLoggerTimestampMessageTest.java | 3 ++-
.../org/apache/logging/log4j/perf/jmh/SimpleBenchmark.java | 5 +++--
4 files changed, 10 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/86934ca4/log4j-api/src/test/java/org/apache/logging/log4j/AbstractLoggerTest.java
----------------------------------------------------------------------
diff --git a/log4j-api/src/test/java/org/apache/logging/log4j/AbstractLoggerTest.java b/log4j-api/src/test/java/org/apache/logging/log4j/AbstractLoggerTest.java
index 3fd165d..d973610 100644
--- a/log4j-api/src/test/java/org/apache/logging/log4j/AbstractLoggerTest.java
+++ b/log4j-api/src/test/java/org/apache/logging/log4j/AbstractLoggerTest.java
@@ -165,7 +165,7 @@ public class AbstractLoggerTest extends AbstractLogger {
@Override
public boolean isEnabled(final Level level, final Marker marker, final CharSequence data, final Throwable t) {
charSeqCount++;
- return isEnabled(level, marker, new SimpleMessage(data), t);
+ return isEnabled(level, marker, (Message) new SimpleMessage(data), t);
}
@Override
@@ -176,7 +176,7 @@ public class AbstractLoggerTest extends AbstractLogger {
@Override
public boolean isEnabled(final Level level, final Marker marker, final String data) {
- return isEnabled(level, marker, new SimpleMessage(data), null);
+ return isEnabled(level, marker, (Message) new SimpleMessage(data), null);
}
@Override
@@ -255,7 +255,7 @@ public class AbstractLoggerTest extends AbstractLogger {
@Override
public boolean isEnabled(final Level level, final Marker marker, final String data, final Throwable t) {
- return isEnabled(level, marker, new SimpleMessage(data), t);
+ return isEnabled(level, marker, (Message) new SimpleMessage(data), t);
}
@Override
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/86934ca4/log4j-core/src/test/java/org/apache/logging/log4j/core/TimestampMessageTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/TimestampMessageTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/TimestampMessageTest.java
index d76e613..60d643b 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/TimestampMessageTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/TimestampMessageTest.java
@@ -24,6 +24,7 @@ import org.apache.logging.log4j.core.util.ClockFactory;
import org.apache.logging.log4j.core.util.ClockFactoryTest;
import org.apache.logging.log4j.core.util.Constants;
import org.apache.logging.log4j.junit.LoggerContextRule;
+import org.apache.logging.log4j.message.Message;
import org.apache.logging.log4j.message.SimpleMessage;
import org.apache.logging.log4j.message.TimestampMessage;
import org.apache.logging.log4j.test.appender.ListAppender;
@@ -67,7 +68,7 @@ public class TimestampMessageTest {
@Test
public void testTimestampMessage() {
final Logger log = context.getLogger("TimestampMessageTest");
- log.info(new TimeMsg("Message with embedded timestamp", 123456789000L));
+ log.info((Message) new TimeMsg("Message with embedded timestamp", 123456789000L));
final List<String> msgs = app.getMessages();
assertNotNull(msgs);
assertEquals(1, msgs.size());
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/86934ca4/log4j-core/src/test/java/org/apache/logging/log4j/core/async/AsyncLoggerTimestampMessageTest.java
----------------------------------------------------------------------
diff --git a/log4j-core/src/test/java/org/apache/logging/log4j/core/async/AsyncLoggerTimestampMessageTest.java b/log4j-core/src/test/java/org/apache/logging/log4j/core/async/AsyncLoggerTimestampMessageTest.java
index 34198a0..e540353 100644
--- a/log4j-core/src/test/java/org/apache/logging/log4j/core/async/AsyncLoggerTimestampMessageTest.java
+++ b/log4j-core/src/test/java/org/apache/logging/log4j/core/async/AsyncLoggerTimestampMessageTest.java
@@ -28,6 +28,7 @@ import org.apache.logging.log4j.core.util.Clock;
import org.apache.logging.log4j.core.util.ClockFactory;
import org.apache.logging.log4j.core.util.ClockFactoryTest;
import org.apache.logging.log4j.core.util.Constants;
+import org.apache.logging.log4j.message.Message;
import org.apache.logging.log4j.message.SimpleMessage;
import org.apache.logging.log4j.message.TimestampMessage;
import org.apache.logging.log4j.util.Strings;
@@ -69,7 +70,7 @@ public class AsyncLoggerTimestampMessageTest {
file.delete();
final Logger log = LogManager.getLogger("com.foo.Bar");
assertFalse(PoisonClock.called);
- log.info(new TimeMsg("Async logger msg with embedded timestamp", 123456789000L));
+ log.info((Message) new TimeMsg("Async logger msg with embedded timestamp", 123456789000L));
assertTrue(PoisonClock.called);
CoreLoggerContexts.stopLoggerContext(false, file); // stop async thread
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/86934ca4/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/SimpleBenchmark.java
----------------------------------------------------------------------
diff --git a/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/SimpleBenchmark.java b/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/SimpleBenchmark.java
index 8d1f189..37814c7 100644
--- a/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/SimpleBenchmark.java
+++ b/log4j-perf/src/main/java/org/apache/logging/log4j/perf/jmh/SimpleBenchmark.java
@@ -25,6 +25,7 @@ import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.core.LoggerContext;
import org.apache.logging.log4j.core.config.Configuration;
import org.apache.logging.log4j.core.config.DefaultConfiguration;
+import org.apache.logging.log4j.message.Message;
import org.apache.logging.log4j.message.SimpleMessage;
import org.openjdk.jmh.annotations.Benchmark;
import org.openjdk.jmh.annotations.BenchmarkMode;
@@ -92,7 +93,7 @@ public class SimpleBenchmark {
@OutputTimeUnit(TimeUnit.SECONDS)
@Benchmark
public void testDebugMessageDisabledThroughput(final Blackhole bh) {
- logger.debug(new SimpleMessage(msg));
+ logger.debug((Message) new SimpleMessage(msg));
}
@BenchmarkMode(Mode.SampleTime)
@@ -126,6 +127,6 @@ public class SimpleBenchmark {
@OutputTimeUnit(TimeUnit.NANOSECONDS)
@Benchmark
public void testDebugDisabledMessageResponseTime(final Blackhole bh) {
- logger.debug(new SimpleMessage(msg));
+ logger.debug((Message) new SimpleMessage(msg));
}
}