Index: log4j-core/src/test/java/org/apache/logging/log4j/core/layout/RFC5424LayoutTest.java
===================================================================
--- log4j-core/src/test/java/org/apache/logging/log4j/core/layout/RFC5424LayoutTest.java	(revision 1520043)
+++ log4j-core/src/test/java/org/apache/logging/log4j/core/layout/RFC5424LayoutTest.java	(working copy)
@@ -34,10 +34,11 @@
 import org.junit.Test;
 import org.junit.Assert;
 
-import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Locale;
+import java.util.Map;
+import java.util.List;
 import java.util.Arrays;
-import java.util.List;
-import java.util.Locale;
 
 import static org.junit.Assert.assertTrue;
 
@@ -410,4 +411,47 @@
             appender.stop();
         }
     }
+
+
+    @Test
+    public void testEventPrefix() {
+        String mdcId = "RequestContext";
+
+        String expectedToContain = "ATM - MSG-ID [RequestContext@3692 loginId=\"JohnDoe\"]"+
+                "[eventSD-ID@12345 key1=\"value1\" key2=\"value2\"] Message";
+
+        for (final Appender appender : root.getAppenders().values()) {
+            root.removeAppender(appender);
+        }
+
+        final AbstractStringLayout layout = RFC5424Layout.createLayout("Local0", "Event", "3692", "true", mdcId,
+                null, null, "true", null, "ATM", "MSG-ID", "key1, key2, locale", null, null, null, null, null);
+        final ListAppender appender = new ListAppender("List", null, layout, true, false);
+        appender.start();
+
+        root.addAppender(appender);
+        root.setLevel(Level.DEBUG);
+
+        ThreadContext.put("loginId", "JohnDoe");
+
+        Map<String, String> sdata = new HashMap<String, String>();
+        sdata.put("key1", "value1");
+        sdata.put("key2", "value2");
+        StructuredDataMessage sdm = new StructuredDataMessage("eventSD-ID@12345", "Message", "MSG-ID", sdata);
+
+        root.info(sdm);
+
+        try {
+            final List<String> list = appender.getMessages();
+            assertTrue("Not enough list entries", list.size() > 0);
+            String message =  list.get(0);
+            Assert.assertTrue("Not the expected message received", message.endsWith(expectedToContain));
+            appender.clear();
+        } finally {
+            root.removeAppender(appender);
+            ThreadContext.clear();
+
+            appender.stop();
+        }
+    }
 }
