You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by gg...@apache.org on 2017/06/07 06:48:48 UTC

logging-log4j2 git commit: Use MapMessage instead of StringMapMessage. Change serialization id back to what it was.

Repository: logging-log4j2
Updated Branches:
  refs/heads/GenericMapMessageSimple 1a153edb9 -> 5d6d38be3


Use MapMessage instead of StringMapMessage. Change serialization id back
to what it was.

Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/5d6d38be
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/5d6d38be
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/5d6d38be

Branch: refs/heads/GenericMapMessageSimple
Commit: 5d6d38be3607995d47dc0111cccc84604009d6e1
Parents: 1a153ed
Author: Gary Gregory <gg...@apache.org>
Authored: Tue Jun 6 23:48:45 2017 -0700
Committer: Gary Gregory <gg...@apache.org>
Committed: Tue Jun 6 23:48:45 2017 -0700

----------------------------------------------------------------------
 .../org/apache/logging/log4j/message/MapMessage.java |  2 +-
 .../logging/log4j/flume/appender/FlumeEvent.java     | 15 +++++++++------
 .../flume/appender/FlumePersistentAppenderTest.java  |  2 +-
 3 files changed, 11 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/5d6d38be/log4j-api/src/main/java/org/apache/logging/log4j/message/MapMessage.java
----------------------------------------------------------------------
diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/message/MapMessage.java b/log4j-api/src/main/java/org/apache/logging/log4j/message/MapMessage.java
index 621d8c2..843c705 100644
--- a/log4j-api/src/main/java/org/apache/logging/log4j/message/MapMessage.java
+++ b/log4j-api/src/main/java/org/apache/logging/log4j/message/MapMessage.java
@@ -50,7 +50,7 @@ import org.apache.logging.log4j.util.TriConsumer;
 @AsynchronouslyFormattable
 public class MapMessage<M extends MapMessage<M, V>, V> implements MultiformatMessage, StringBuilderFormattable {
 
-    private static final long serialVersionUID = 1L;
+    private static final long serialVersionUID = -5031471831131487120L;    
 
     /**
      * When set as the format specifier causes the Map to be formatted as XML.

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/5d6d38be/log4j-flume-ng/src/main/java/org/apache/logging/log4j/flume/appender/FlumeEvent.java
----------------------------------------------------------------------
diff --git a/log4j-flume-ng/src/main/java/org/apache/logging/log4j/flume/appender/FlumeEvent.java b/log4j-flume-ng/src/main/java/org/apache/logging/log4j/flume/appender/FlumeEvent.java
index 56c0444..bf76e11 100644
--- a/log4j-flume-ng/src/main/java/org/apache/logging/log4j/flume/appender/FlumeEvent.java
+++ b/log4j-flume-ng/src/main/java/org/apache/logging/log4j/flume/appender/FlumeEvent.java
@@ -29,16 +29,17 @@ import org.apache.logging.log4j.Level;
 import org.apache.logging.log4j.LoggingException;
 import org.apache.logging.log4j.Marker;
 import org.apache.logging.log4j.ThreadContext;
-import org.apache.logging.log4j.util.ReadOnlyStringMap;
 import org.apache.logging.log4j.core.LogEvent;
 import org.apache.logging.log4j.core.impl.Log4jLogEvent;
 import org.apache.logging.log4j.core.impl.ThrowableProxy;
 import org.apache.logging.log4j.core.util.Patterns;
 import org.apache.logging.log4j.core.util.UuidUtil;
-import org.apache.logging.log4j.message.StringMapMessage;
+import org.apache.logging.log4j.message.MapMessage;
 import org.apache.logging.log4j.message.Message;
+import org.apache.logging.log4j.message.StringMapMessage;
 import org.apache.logging.log4j.message.StructuredDataId;
 import org.apache.logging.log4j.message.StructuredDataMessage;
+import org.apache.logging.log4j.util.ReadOnlyStringMap;
 import org.apache.logging.log4j.util.Strings;
 
 /**
@@ -131,13 +132,15 @@ public class FlumeEvent extends SimpleEvent implements LogEvent {
         }
         final String guid =  UuidUtil.getTimeBasedUuid().toString();
         final Message message = event.getMessage();
-        if (message instanceof StringMapMessage) {
+        if (message instanceof MapMessage) {
             // Add the guid to the Map so that it can be included in the Layout.
-            ((StringMapMessage) message).put(GUID, guid);
+        	@SuppressWarnings("unchecked")
+			MapMessage<?, String> stringMapMessage = (MapMessage<?, String>) message;
+        	stringMapMessage.put(GUID, guid);
             if (message instanceof StructuredDataMessage) {
                 addStructuredData(eventPrefix, headers, (StructuredDataMessage) message);
             }
-            addMapData(eventPrefix, headers, (StringMapMessage) message);
+            addMapData(eventPrefix, headers, stringMapMessage);
         } else {
             headers.put(GUID, guid);
         }
@@ -152,7 +155,7 @@ public class FlumeEvent extends SimpleEvent implements LogEvent {
         fields.put(prefix + EVENT_ID, id.getName());
     }
 
-    protected void addMapData(final String prefix, final Map<String, String> fields, final StringMapMessage msg) {
+    protected void addMapData(final String prefix, final Map<String, String> fields, final MapMessage<?, String> msg) {
         final Map<String, String> data = msg.getData();
         for (final Map.Entry<String, String> entry : data.entrySet()) {
             fields.put(prefix + entry.getKey(), entry.getValue());

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/5d6d38be/log4j-flume-ng/src/test/java/org/apache/logging/log4j/flume/appender/FlumePersistentAppenderTest.java
----------------------------------------------------------------------
diff --git a/log4j-flume-ng/src/test/java/org/apache/logging/log4j/flume/appender/FlumePersistentAppenderTest.java b/log4j-flume-ng/src/test/java/org/apache/logging/log4j/flume/appender/FlumePersistentAppenderTest.java
index 48397b5..4a8cfc9 100644
--- a/log4j-flume-ng/src/test/java/org/apache/logging/log4j/flume/appender/FlumePersistentAppenderTest.java
+++ b/log4j-flume-ng/src/test/java/org/apache/logging/log4j/flume/appender/FlumePersistentAppenderTest.java
@@ -153,7 +153,7 @@ public class FlumePersistentAppenderTest {
             final Event event = primary.poll();
             Assert.assertNotNull("Received " + i + " events. Event " + (i + 1) + " is null", event);
             final String value = event.getHeaders().get("counter");
-            Assert.assertNotNull("Missing counter", value);
+            Assert.assertNotNull("Missing 'counter' in map " + event.getHeaders() + ", i = " + i, value);
             final int counter = Integer.parseInt(value);
             if (fields[counter]) {
                 Assert.fail("Duplicate event");