Improve documentation of XML/JSON/YAML layouts

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

Branch: refs/heads/master
Commit: 4c43152bdcbebe037e0792a4e5687c95445a5794
Parents: 28d5bb1
Author: Mikael Ståldal <mikael.stal...@magine.com>
Authored: Tue Apr 25 14:43:35 2017 +0200
Committer: Mikael Ståldal <mikael.stal...@magine.com>
Committed: Tue Apr 25 14:43:35 2017 +0200

----------------------------------------------------------------------
 .../logging/log4j/core/layout/JsonLayout.java   | 739 +------------------
 .../logging/log4j/core/layout/XmlLayout.java    | 150 +---
 .../logging/log4j/core/layout/YamlLayout.java   | 651 ----------------
 src/site/xdoc/manual/layouts.xml.vm             | 283 ++++---
 4 files changed, 133 insertions(+), 1690 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/4c43152b/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/JsonLayout.java
----------------------------------------------------------------------
diff --git 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/JsonLayout.java 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/JsonLayout.java
index 5087c32..c630836 100644
--- 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/JsonLayout.java
+++ 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/JsonLayout.java
@@ -46,743 +46,6 @@ import 
org.apache.logging.log4j.core.layout.SyslogLayout.Builder;
  * well-formed JSON document.
  * </p>
  * <p>
- * A well-formed JSON event follows this pattern:
- * </p>
- *
- * <pre>
- * {
-  "timeMillis": 1,
-  "thread": "MyThreadName",
-  "level": "DEBUG",
-  "loggerName": "a.B",
-  "marker": {
-    "name": "Marker1",
-    "parents": [{
-      "name": "ParentMarker1",
-      "parents": [{
-        "name": "GrandMotherMarker"
-      }, {
-        "name": "GrandFatherMarker"
-      }]
-    }, {
-      "name": "GrandFatherMarker"
-    }]
-  },
-  "message": "Msg",
-  "thrown": {
-    "cause": {
-      "commonElementCount": 27,
-      "extendedStackTrace": [{
-        "class": "org.apache.logging.log4j.core.layout.LogEventFixtures",
-        "method": "createLogEvent",
-        "file": "LogEventFixtures.java",
-        "line": 53,
-        "exact": false,
-        "location": "test-classes/",
-        "version": "?"
-      }],
-      "localizedMessage": "testNPEx",
-      "message": "testNPEx",
-      "name": "java.lang.NullPointerException"
-    },
-    "commonElementCount": 0,
-    "extendedStackTrace": [{
-      "class": "org.apache.logging.log4j.core.layout.LogEventFixtures",
-      "method": "createLogEvent",
-      "file": "LogEventFixtures.java",
-      "line": 56,
-      "exact": true,
-      "location": "test-classes/",
-      "version": "?"
-    }, {
-      "class": "org.apache.logging.log4j.core.layout.JsonLayoutTest",
-      "method": "testAllFeatures",
-      "file": "JsonLayoutTest.java",
-      "line": 105,
-      "exact": true,
-      "location": "test-classes/",
-      "version": "?"
-    }, {
-      "class": "org.apache.logging.log4j.core.layout.JsonLayoutTest",
-      "method": "testLocationOnCompactOnMdcOn",
-      "file": "JsonLayoutTest.java",
-      "line": 268,
-      "exact": true,
-      "location": "test-classes/",
-      "version": "?"
-    }, {
-      "class": "sun.reflect.NativeMethodAccessorImpl",
-      "method": "invoke",
-      "line": -1,
-      "exact": false,
-      "location": "?",
-      "version": "1.7.0_55"
-    }, {
-      "class": "sun.reflect.NativeMethodAccessorImpl",
-      "method": "invoke",
-      "line": -1,
-      "exact": false,
-      "location": "?",
-      "version": "1.7.0_55"
-    }, {
-      "class": "sun.reflect.DelegatingMethodAccessorImpl",
-      "method": "invoke",
-      "line": -1,
-      "exact": false,
-      "location": "?",
-      "version": "1.7.0_55"
-    }, {
-      "class": "java.lang.reflect.Method",
-      "method": "invoke",
-      "line": -1,
-      "exact": false,
-      "location": "?",
-      "version": "1.7.0_55"
-    }, {
-      "class": "org.junit.runners.model.FrameworkMethod$1",
-      "method": "runReflectiveCall",
-      "file": "FrameworkMethod.java",
-      "line": 47,
-      "exact": true,
-      "location": "junit-4.11.jar",
-      "version": "?"
-    }, {
-      "class": "org.junit.internal.runners.model.ReflectiveCallable",
-      "method": "run",
-      "file": "ReflectiveCallable.java",
-      "line": 12,
-      "exact": true,
-      "location": "junit-4.11.jar",
-      "version": "?"
-    }, {
-      "class": "org.junit.runners.model.FrameworkMethod",
-      "method": "invokeExplosively",
-      "file": "FrameworkMethod.java",
-      "line": 44,
-      "exact": true,
-      "location": "junit-4.11.jar",
-      "version": "?"
-    }, {
-      "class": "org.junit.internal.runners.statements.InvokeMethod",
-      "method": "evaluate",
-      "file": "InvokeMethod.java",
-      "line": 17,
-      "exact": true,
-      "location": "junit-4.11.jar",
-      "version": "?"
-    }, {
-      "class": "org.junit.runners.ParentRunner",
-      "method": "runLeaf",
-      "file": "ParentRunner.java",
-      "line": 271,
-      "exact": true,
-      "location": "junit-4.11.jar",
-      "version": "?"
-    }, {
-      "class": "org.junit.runners.BlockJUnit4ClassRunner",
-      "method": "runChild",
-      "file": "BlockJUnit4ClassRunner.java",
-      "line": 70,
-      "exact": true,
-      "location": "junit-4.11.jar",
-      "version": "?"
-    }, {
-      "class": "org.junit.runners.BlockJUnit4ClassRunner",
-      "method": "runChild",
-      "file": "BlockJUnit4ClassRunner.java",
-      "line": 50,
-      "exact": true,
-      "location": "junit-4.11.jar",
-      "version": "?"
-    }, {
-      "class": "org.junit.runners.ParentRunner$3",
-      "method": "run",
-      "file": "ParentRunner.java",
-      "line": 238,
-      "exact": true,
-      "location": "junit-4.11.jar",
-      "version": "?"
-    }, {
-      "class": "org.junit.runners.ParentRunner$1",
-      "method": "schedule",
-      "file": "ParentRunner.java",
-      "line": 63,
-      "exact": true,
-      "location": "junit-4.11.jar",
-      "version": "?"
-    }, {
-      "class": "org.junit.runners.ParentRunner",
-      "method": "runChildren",
-      "file": "ParentRunner.java",
-      "line": 236,
-      "exact": true,
-      "location": "junit-4.11.jar",
-      "version": "?"
-    }, {
-      "class": "org.junit.runners.ParentRunner",
-      "method": "access$000",
-      "file": "ParentRunner.java",
-      "line": 53,
-      "exact": true,
-      "location": "junit-4.11.jar",
-      "version": "?"
-    }, {
-      "class": "org.junit.runners.ParentRunner$2",
-      "method": "evaluate",
-      "file": "ParentRunner.java",
-      "line": 229,
-      "exact": true,
-      "location": "junit-4.11.jar",
-      "version": "?"
-    }, {
-      "class": "org.junit.internal.runners.statements.RunBefores",
-      "method": "evaluate",
-      "file": "RunBefores.java",
-      "line": 26,
-      "exact": true,
-      "location": "junit-4.11.jar",
-      "version": "?"
-    }, {
-      "class": "org.junit.internal.runners.statements.RunAfters",
-      "method": "evaluate",
-      "file": "RunAfters.java",
-      "line": 27,
-      "exact": true,
-      "location": "junit-4.11.jar",
-      "version": "?"
-    }, {
-      "class": "org.junit.runners.ParentRunner",
-      "method": "run",
-      "file": "ParentRunner.java",
-      "line": 309,
-      "exact": true,
-      "location": "junit-4.11.jar",
-      "version": "?"
-    }, {
-      "class": "org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference",
-      "method": "run",
-      "file": "JUnit4TestReference.java",
-      "line": 50,
-      "exact": true,
-      "location": ".cp/",
-      "version": "?"
-    }, {
-      "class": "org.eclipse.jdt.internal.junit.runner.TestExecution",
-      "method": "run",
-      "file": "TestExecution.java",
-      "line": 38,
-      "exact": true,
-      "location": ".cp/",
-      "version": "?"
-    }, {
-      "class": "org.eclipse.jdt.internal.junit.runner.RemoteTestRunner",
-      "method": "runTests",
-      "file": "RemoteTestRunner.java",
-      "line": 467,
-      "exact": true,
-      "location": ".cp/",
-      "version": "?"
-    }, {
-      "class": "org.eclipse.jdt.internal.junit.runner.RemoteTestRunner",
-      "method": "runTests",
-      "file": "RemoteTestRunner.java",
-      "line": 683,
-      "exact": true,
-      "location": ".cp/",
-      "version": "?"
-    }, {
-      "class": "org.eclipse.jdt.internal.junit.runner.RemoteTestRunner",
-      "method": "run",
-      "file": "RemoteTestRunner.java",
-      "line": 390,
-      "exact": true,
-      "location": ".cp/",
-      "version": "?"
-    }, {
-      "class": "org.eclipse.jdt.internal.junit.runner.RemoteTestRunner",
-      "method": "main",
-      "file": "RemoteTestRunner.java",
-      "line": 197,
-      "exact": true,
-      "location": ".cp/",
-      "version": "?"
-    }],
-    "localizedMessage": "testIOEx",
-    "message": "testIOEx",
-    "name": "java.io.IOException",
-    "suppressed": [{
-      "commonElementCount": 0,
-      "extendedStackTrace": [{
-        "class": "org.apache.logging.log4j.core.layout.LogEventFixtures",
-        "method": "createLogEvent",
-        "file": "LogEventFixtures.java",
-        "line": 57,
-        "exact": true,
-        "location": "test-classes/",
-        "version": "?"
-      }, {
-        "class": "org.apache.logging.log4j.core.layout.JsonLayoutTest",
-        "method": "testAllFeatures",
-        "file": "JsonLayoutTest.java",
-        "line": 105,
-        "exact": true,
-        "location": "test-classes/",
-        "version": "?"
-      }, {
-        "class": "org.apache.logging.log4j.core.layout.JsonLayoutTest",
-        "method": "testLocationOnCompactOnMdcOn",
-        "file": "JsonLayoutTest.java",
-        "line": 268,
-        "exact": true,
-        "location": "test-classes/",
-        "version": "?"
-      }, {
-        "class": "sun.reflect.NativeMethodAccessorImpl",
-        "method": "invoke",
-        "line": -1,
-        "exact": false,
-        "location": "?",
-        "version": "1.7.0_55"
-      }, {
-        "class": "sun.reflect.NativeMethodAccessorImpl",
-        "method": "invoke",
-        "line": -1,
-        "exact": false,
-        "location": "?",
-        "version": "1.7.0_55"
-      }, {
-        "class": "sun.reflect.DelegatingMethodAccessorImpl",
-        "method": "invoke",
-        "line": -1,
-        "exact": false,
-        "location": "?",
-        "version": "1.7.0_55"
-      }, {
-        "class": "java.lang.reflect.Method",
-        "method": "invoke",
-        "line": -1,
-        "exact": false,
-        "location": "?",
-        "version": "1.7.0_55"
-      }, {
-        "class": "org.junit.runners.model.FrameworkMethod$1",
-        "method": "runReflectiveCall",
-        "file": "FrameworkMethod.java",
-        "line": 47,
-        "exact": true,
-        "location": "junit-4.11.jar",
-        "version": "?"
-      }, {
-        "class": "org.junit.internal.runners.model.ReflectiveCallable",
-        "method": "run",
-        "file": "ReflectiveCallable.java",
-        "line": 12,
-        "exact": true,
-        "location": "junit-4.11.jar",
-        "version": "?"
-      }, {
-        "class": "org.junit.runners.model.FrameworkMethod",
-        "method": "invokeExplosively",
-        "file": "FrameworkMethod.java",
-        "line": 44,
-        "exact": true,
-        "location": "junit-4.11.jar",
-        "version": "?"
-      }, {
-        "class": "org.junit.internal.runners.statements.InvokeMethod",
-        "method": "evaluate",
-        "file": "InvokeMethod.java",
-        "line": 17,
-        "exact": true,
-        "location": "junit-4.11.jar",
-        "version": "?"
-      }, {
-        "class": "org.junit.runners.ParentRunner",
-        "method": "runLeaf",
-        "file": "ParentRunner.java",
-        "line": 271,
-        "exact": true,
-        "location": "junit-4.11.jar",
-        "version": "?"
-      }, {
-        "class": "org.junit.runners.BlockJUnit4ClassRunner",
-        "method": "runChild",
-        "file": "BlockJUnit4ClassRunner.java",
-        "line": 70,
-        "exact": true,
-        "location": "junit-4.11.jar",
-        "version": "?"
-      }, {
-        "class": "org.junit.runners.BlockJUnit4ClassRunner",
-        "method": "runChild",
-        "file": "BlockJUnit4ClassRunner.java",
-        "line": 50,
-        "exact": true,
-        "location": "junit-4.11.jar",
-        "version": "?"
-      }, {
-        "class": "org.junit.runners.ParentRunner$3",
-        "method": "run",
-        "file": "ParentRunner.java",
-        "line": 238,
-        "exact": true,
-        "location": "junit-4.11.jar",
-        "version": "?"
-      }, {
-        "class": "org.junit.runners.ParentRunner$1",
-        "method": "schedule",
-        "file": "ParentRunner.java",
-        "line": 63,
-        "exact": true,
-        "location": "junit-4.11.jar",
-        "version": "?"
-      }, {
-        "class": "org.junit.runners.ParentRunner",
-        "method": "runChildren",
-        "file": "ParentRunner.java",
-        "line": 236,
-        "exact": true,
-        "location": "junit-4.11.jar",
-        "version": "?"
-      }, {
-        "class": "org.junit.runners.ParentRunner",
-        "method": "access$000",
-        "file": "ParentRunner.java",
-        "line": 53,
-        "exact": true,
-        "location": "junit-4.11.jar",
-        "version": "?"
-      }, {
-        "class": "org.junit.runners.ParentRunner$2",
-        "method": "evaluate",
-        "file": "ParentRunner.java",
-        "line": 229,
-        "exact": true,
-        "location": "junit-4.11.jar",
-        "version": "?"
-      }, {
-        "class": "org.junit.internal.runners.statements.RunBefores",
-        "method": "evaluate",
-        "file": "RunBefores.java",
-        "line": 26,
-        "exact": true,
-        "location": "junit-4.11.jar",
-        "version": "?"
-      }, {
-        "class": "org.junit.internal.runners.statements.RunAfters",
-        "method": "evaluate",
-        "file": "RunAfters.java",
-        "line": 27,
-        "exact": true,
-        "location": "junit-4.11.jar",
-        "version": "?"
-      }, {
-        "class": "org.junit.runners.ParentRunner",
-        "method": "run",
-        "file": "ParentRunner.java",
-        "line": 309,
-        "exact": true,
-        "location": "junit-4.11.jar",
-        "version": "?"
-      }, {
-        "class": "org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference",
-        "method": "run",
-        "file": "JUnit4TestReference.java",
-        "line": 50,
-        "exact": true,
-        "location": ".cp/",
-        "version": "?"
-      }, {
-        "class": "org.eclipse.jdt.internal.junit.runner.TestExecution",
-        "method": "run",
-        "file": "TestExecution.java",
-        "line": 38,
-        "exact": true,
-        "location": ".cp/",
-        "version": "?"
-      }, {
-        "class": "org.eclipse.jdt.internal.junit.runner.RemoteTestRunner",
-        "method": "runTests",
-        "file": "RemoteTestRunner.java",
-        "line": 467,
-        "exact": true,
-        "location": ".cp/",
-        "version": "?"
-      }, {
-        "class": "org.eclipse.jdt.internal.junit.runner.RemoteTestRunner",
-        "method": "runTests",
-        "file": "RemoteTestRunner.java",
-        "line": 683,
-        "exact": true,
-        "location": ".cp/",
-        "version": "?"
-      }, {
-        "class": "org.eclipse.jdt.internal.junit.runner.RemoteTestRunner",
-        "method": "run",
-        "file": "RemoteTestRunner.java",
-        "line": 390,
-        "exact": true,
-        "location": ".cp/",
-        "version": "?"
-      }, {
-        "class": "org.eclipse.jdt.internal.junit.runner.RemoteTestRunner",
-        "method": "main",
-        "file": "RemoteTestRunner.java",
-        "line": 197,
-        "exact": true,
-        "location": ".cp/",
-        "version": "?"
-      }],
-      "localizedMessage": "I am suppressed exception 1",
-      "message": "I am suppressed exception 1",
-      "name": "java.lang.IndexOutOfBoundsException"
-    }, {
-      "commonElementCount": 0,
-      "extendedStackTrace": [{
-        "class": "org.apache.logging.log4j.core.layout.LogEventFixtures",
-        "method": "createLogEvent",
-        "file": "LogEventFixtures.java",
-        "line": 58,
-        "exact": true,
-        "location": "test-classes/",
-        "version": "?"
-      }, {
-        "class": "org.apache.logging.log4j.core.layout.JsonLayoutTest",
-        "method": "testAllFeatures",
-        "file": "JsonLayoutTest.java",
-        "line": 105,
-        "exact": true,
-        "location": "test-classes/",
-        "version": "?"
-      }, {
-        "class": "org.apache.logging.log4j.core.layout.JsonLayoutTest",
-        "method": "testLocationOnCompactOnMdcOn",
-        "file": "JsonLayoutTest.java",
-        "line": 268,
-        "exact": true,
-        "location": "test-classes/",
-        "version": "?"
-      }, {
-        "class": "sun.reflect.NativeMethodAccessorImpl",
-        "method": "invoke",
-        "line": -1,
-        "exact": false,
-        "location": "?",
-        "version": "1.7.0_55"
-      }, {
-        "class": "sun.reflect.NativeMethodAccessorImpl",
-        "method": "invoke",
-        "line": -1,
-        "exact": false,
-        "location": "?",
-        "version": "1.7.0_55"
-      }, {
-        "class": "sun.reflect.DelegatingMethodAccessorImpl",
-        "method": "invoke",
-        "line": -1,
-        "exact": false,
-        "location": "?",
-        "version": "1.7.0_55"
-      }, {
-        "class": "java.lang.reflect.Method",
-        "method": "invoke",
-        "line": -1,
-        "exact": false,
-        "location": "?",
-        "version": "1.7.0_55"
-      }, {
-        "class": "org.junit.runners.model.FrameworkMethod$1",
-        "method": "runReflectiveCall",
-        "file": "FrameworkMethod.java",
-        "line": 47,
-        "exact": true,
-        "location": "junit-4.11.jar",
-        "version": "?"
-      }, {
-        "class": "org.junit.internal.runners.model.ReflectiveCallable",
-        "method": "run",
-        "file": "ReflectiveCallable.java",
-        "line": 12,
-        "exact": true,
-        "location": "junit-4.11.jar",
-        "version": "?"
-      }, {
-        "class": "org.junit.runners.model.FrameworkMethod",
-        "method": "invokeExplosively",
-        "file": "FrameworkMethod.java",
-        "line": 44,
-        "exact": true,
-        "location": "junit-4.11.jar",
-        "version": "?"
-      }, {
-        "class": "org.junit.internal.runners.statements.InvokeMethod",
-        "method": "evaluate",
-        "file": "InvokeMethod.java",
-        "line": 17,
-        "exact": true,
-        "location": "junit-4.11.jar",
-        "version": "?"
-      }, {
-        "class": "org.junit.runners.ParentRunner",
-        "method": "runLeaf",
-        "file": "ParentRunner.java",
-        "line": 271,
-        "exact": true,
-        "location": "junit-4.11.jar",
-        "version": "?"
-      }, {
-        "class": "org.junit.runners.BlockJUnit4ClassRunner",
-        "method": "runChild",
-        "file": "BlockJUnit4ClassRunner.java",
-        "line": 70,
-        "exact": true,
-        "location": "junit-4.11.jar",
-        "version": "?"
-      }, {
-        "class": "org.junit.runners.BlockJUnit4ClassRunner",
-        "method": "runChild",
-        "file": "BlockJUnit4ClassRunner.java",
-        "line": 50,
-        "exact": true,
-        "location": "junit-4.11.jar",
-        "version": "?"
-      }, {
-        "class": "org.junit.runners.ParentRunner$3",
-        "method": "run",
-        "file": "ParentRunner.java",
-        "line": 238,
-        "exact": true,
-        "location": "junit-4.11.jar",
-        "version": "?"
-      }, {
-        "class": "org.junit.runners.ParentRunner$1",
-        "method": "schedule",
-        "file": "ParentRunner.java",
-        "line": 63,
-        "exact": true,
-        "location": "junit-4.11.jar",
-        "version": "?"
-      }, {
-        "class": "org.junit.runners.ParentRunner",
-        "method": "runChildren",
-        "file": "ParentRunner.java",
-        "line": 236,
-        "exact": true,
-        "location": "junit-4.11.jar",
-        "version": "?"
-      }, {
-        "class": "org.junit.runners.ParentRunner",
-        "method": "access$000",
-        "file": "ParentRunner.java",
-        "line": 53,
-        "exact": true,
-        "location": "junit-4.11.jar",
-        "version": "?"
-      }, {
-        "class": "org.junit.runners.ParentRunner$2",
-        "method": "evaluate",
-        "file": "ParentRunner.java",
-        "line": 229,
-        "exact": true,
-        "location": "junit-4.11.jar",
-        "version": "?"
-      }, {
-        "class": "org.junit.internal.runners.statements.RunBefores",
-        "method": "evaluate",
-        "file": "RunBefores.java",
-        "line": 26,
-        "exact": true,
-        "location": "junit-4.11.jar",
-        "version": "?"
-      }, {
-        "class": "org.junit.internal.runners.statements.RunAfters",
-        "method": "evaluate",
-        "file": "RunAfters.java",
-        "line": 27,
-        "exact": true,
-        "location": "junit-4.11.jar",
-        "version": "?"
-      }, {
-        "class": "org.junit.runners.ParentRunner",
-        "method": "run",
-        "file": "ParentRunner.java",
-        "line": 309,
-        "exact": true,
-        "location": "junit-4.11.jar",
-        "version": "?"
-      }, {
-        "class": "org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference",
-        "method": "run",
-        "file": "JUnit4TestReference.java",
-        "line": 50,
-        "exact": true,
-        "location": ".cp/",
-        "version": "?"
-      }, {
-        "class": "org.eclipse.jdt.internal.junit.runner.TestExecution",
-        "method": "run",
-        "file": "TestExecution.java",
-        "line": 38,
-        "exact": true,
-        "location": ".cp/",
-        "version": "?"
-      }, {
-        "class": "org.eclipse.jdt.internal.junit.runner.RemoteTestRunner",
-        "method": "runTests",
-        "file": "RemoteTestRunner.java",
-        "line": 467,
-        "exact": true,
-        "location": ".cp/",
-        "version": "?"
-      }, {
-        "class": "org.eclipse.jdt.internal.junit.runner.RemoteTestRunner",
-        "method": "runTests",
-        "file": "RemoteTestRunner.java",
-        "line": 683,
-        "exact": true,
-        "location": ".cp/",
-        "version": "?"
-      }, {
-        "class": "org.eclipse.jdt.internal.junit.runner.RemoteTestRunner",
-        "method": "run",
-        "file": "RemoteTestRunner.java",
-        "line": 390,
-        "exact": true,
-        "location": ".cp/",
-        "version": "?"
-      }, {
-        "class": "org.eclipse.jdt.internal.junit.runner.RemoteTestRunner",
-        "method": "main",
-        "file": "RemoteTestRunner.java",
-        "line": 197,
-        "exact": true,
-        "location": ".cp/",
-        "version": "?"
-      }],
-      "localizedMessage": "I am suppressed exception 2",
-      "message": "I am suppressed exception 2",
-      "name": "java.lang.IndexOutOfBoundsException"
-    }]
-  },
-  "loggerFQCN": "f.q.c.n",
-  "endOfBatch": false,
-  "contextMap": [{
-    "key": "MDC.B",
-    "value": "B_Value"
-  }, {
-    "key": "MDC.A",
-    "value": "A_Value"
-  }],
-  "contextStack": ["stack_msg1", "stack_msg2"],
-  "source": {
-    "class": "org.apache.logging.log4j.core.layout.LogEventFixtures",
-    "method": "createLogEvent",
-    "file": "LogEventFixtures.java",
-    "line": 54
-  }
-}
- * </pre>
- * <p>
  * If {@code complete="false"}, the appender does not write the JSON open 
array character "[" at the start
  * of the document, "]" and the end, nor comma "," between records.
  * </p>
@@ -791,7 +54,7 @@ import 
org.apache.logging.log4j.core.layout.SyslogLayout.Builder;
  * Appenders using this layout should have their {@code charset} set to {@code 
UTF-8} or {@code UTF-16}, otherwise
  * events containing non ASCII characters could result in corrupted log files.
  * </p>
- * <h3>Pretty vs. compact XML</h3>
+ * <h3>Pretty vs. compact JSON</h3>
  * <p>
  * By default, the JSON layout is not compact (a.k.a. "pretty") with {@code 
compact="false"}, which means the
  * appender uses end-of-line characters and indents lines to format the text. 
If {@code compact="true"}, then no

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/4c43152b/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/XmlLayout.java
----------------------------------------------------------------------
diff --git 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/XmlLayout.java 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/XmlLayout.java
index 8c13b12..b3a8121 100644
--- 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/XmlLayout.java
+++ 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/XmlLayout.java
@@ -28,164 +28,30 @@ import 
org.apache.logging.log4j.core.config.plugins.PluginAttribute;
 import org.apache.logging.log4j.core.config.plugins.PluginFactory;
 import org.apache.logging.log4j.core.jackson.XmlConstants;
 
-// Lines too long...
-//CHECKSTYLE:OFF
 /**
  * Appends a series of {@code event} elements as defined in the <a 
href="log4j.dtd">log4j.dtd</a>.
  *
  * <h3>Complete well-formed XML vs. fragment XML</h3>
  * <p>
- * If you configure {@code complete="true"}, the appender outputs a 
well-formed XML document where the default namespace is the log4j
- * namespace {@value XmlConstants#XML_NAMESPACE}. By default, with {@code 
complete="false"}, you should include the output as an
- * <em>external entity</em> in a separate file to form a well-formed XML 
document.
+ * If you configure {@code complete="true"}, the appender outputs a 
well-formed XML document where the default namespace
+ * is the log4j namespace {@value XmlConstants#XML_NAMESPACE}. By default, 
with {@code complete="false"}, you should
+ * include the output as an <em>external entity</em> in a separate file to 
form a well-formed XML document.
  * </p>
  * <p>
- * A well-formed XML document follows this pattern:
- * </p>
- * <pre>
-&lt;Event xmlns=&quot;http://logging.apache.org/log4j/2.0/events&quot; 
timeMillis=&quot;1&quot; thread=&quot;MyThreadName&quot; 
level=&quot;DEBUG&quot; loggerName=&quot;a.B&quot; 
loggerFQCN=&quot;f.q.c.n&quot; endOfBatch=&quot;false&quot;&gt;
-    &lt;Marker name=&quot;Marker1&quot;&gt;
-        &lt;Parents&gt;
-            &lt;Parents name=&quot;ParentMarker1&quot;&gt;
-                &lt;Parents&gt;
-                    &lt;Parents name=&quot;GrandMotherMarker&quot;/&gt;
-                    &lt;Parents name=&quot;GrandFatherMarker&quot;/&gt;
-                &lt;/Parents&gt;
-            &lt;/Parents&gt;
-            &lt;Parents name=&quot;GrandFatherMarker&quot;/&gt;
-        &lt;/Parents&gt;
-    &lt;/Marker&gt;
-    &lt;Message&gt;Msg&lt;/Message&gt;
-    &lt;ContextMap&gt;
-        &lt;item key=&quot;MDC.B&quot; value=&quot;B_Value&quot;/&gt;
-        &lt;item key=&quot;MDC.A&quot; value=&quot;A_Value&quot;/&gt;
-    &lt;/ContextMap&gt;
-    &lt;ContextStack&gt;
-        &lt;ContextStack&gt;stack_msg1&lt;/ContextStack&gt;
-        &lt;ContextStack&gt;stack_msg2&lt;/ContextStack&gt;
-    &lt;/ContextStack&gt;
-    &lt;Source 
class=&quot;org.apache.logging.log4j.core.layout.LogEventFixtures&quot; 
method=&quot;createLogEvent&quot; file=&quot;LogEventFixtures.java&quot; 
line=&quot;54&quot;/&gt;
-    &lt;Thrown commonElementCount=&quot;0&quot; 
localizedMessage=&quot;testIOEx&quot; message=&quot;testIOEx&quot; 
name=&quot;java.io.IOException&quot;&gt;
-        &lt;Cause commonElementCount=&quot;27&quot; 
localizedMessage=&quot;testNPEx&quot; message=&quot;testNPEx&quot; 
name=&quot;java.lang.NullPointerException&quot;&gt;
-            &lt;ExtendedStackTrace&gt;
-                &lt;ExtendedStackTrace 
class=&quot;org.apache.logging.log4j.core.layout.LogEventFixtures&quot; 
method=&quot;createLogEvent&quot; file=&quot;LogEventFixtures.java&quot; 
line=&quot;53&quot; exact=&quot;false&quot; location=&quot;test-classes/&quot; 
version=&quot;?&quot;/&gt;
-            &lt;/ExtendedStackTrace&gt;
-        &lt;/Cause&gt;
-        &lt;ExtendedStackTrace&gt;
-            &lt;ExtendedStackTrace 
class=&quot;org.apache.logging.log4j.core.layout.LogEventFixtures&quot; 
method=&quot;createLogEvent&quot; file=&quot;LogEventFixtures.java&quot; 
line=&quot;56&quot; exact=&quot;true&quot; location=&quot;test-classes/&quot; 
version=&quot;?&quot;/&gt;
-            &lt;ExtendedStackTrace 
class=&quot;org.apache.logging.log4j.core.layout.XmlLayoutTest&quot; 
method=&quot;testAllFeatures&quot; file=&quot;XmlLayoutTest.java&quot; 
line=&quot;122&quot; exact=&quot;true&quot; location=&quot;test-classes/&quot; 
version=&quot;?&quot;/&gt;
-            &lt;ExtendedStackTrace 
class=&quot;org.apache.logging.log4j.core.layout.XmlLayoutTest&quot; 
method=&quot;testLocationOnCompactOnMdcOn&quot; 
file=&quot;XmlLayoutTest.java&quot; line=&quot;270&quot; exact=&quot;true&quot; 
location=&quot;test-classes/&quot; version=&quot;?&quot;/&gt;
-            &lt;ExtendedStackTrace 
class=&quot;sun.reflect.NativeMethodAccessorImpl&quot; 
method=&quot;invoke&quot; line=&quot;-1&quot; exact=&quot;false&quot; 
location=&quot;?&quot; version=&quot;1.7.0_55&quot;/&gt;
-            &lt;ExtendedStackTrace 
class=&quot;sun.reflect.NativeMethodAccessorImpl&quot; 
method=&quot;invoke&quot; line=&quot;-1&quot; exact=&quot;false&quot; 
location=&quot;?&quot; version=&quot;1.7.0_55&quot;/&gt;
-            &lt;ExtendedStackTrace 
class=&quot;sun.reflect.DelegatingMethodAccessorImpl&quot; 
method=&quot;invoke&quot; line=&quot;-1&quot; exact=&quot;false&quot; 
location=&quot;?&quot; version=&quot;1.7.0_55&quot;/&gt;
-            &lt;ExtendedStackTrace class=&quot;java.lang.reflect.Method&quot; 
method=&quot;invoke&quot; line=&quot;-1&quot; exact=&quot;false&quot; 
location=&quot;?&quot; version=&quot;1.7.0_55&quot;/&gt;
-            &lt;ExtendedStackTrace 
class=&quot;org.junit.runners.model.FrameworkMethod$1&quot; 
method=&quot;runReflectiveCall&quot; file=&quot;FrameworkMethod.java&quot; 
line=&quot;47&quot; exact=&quot;true&quot; location=&quot;junit-4.11.jar&quot; 
version=&quot;?&quot;/&gt;
-            &lt;ExtendedStackTrace 
class=&quot;org.junit.internal.runners.model.ReflectiveCallable&quot; 
method=&quot;run&quot; file=&quot;ReflectiveCallable.java&quot; 
line=&quot;12&quot; exact=&quot;true&quot; location=&quot;junit-4.11.jar&quot; 
version=&quot;?&quot;/&gt;
-            &lt;ExtendedStackTrace 
class=&quot;org.junit.runners.model.FrameworkMethod&quot; 
method=&quot;invokeExplosively&quot; file=&quot;FrameworkMethod.java&quot; 
line=&quot;44&quot; exact=&quot;true&quot; location=&quot;junit-4.11.jar&quot; 
version=&quot;?&quot;/&gt;
-            &lt;ExtendedStackTrace 
class=&quot;org.junit.internal.runners.statements.InvokeMethod&quot; 
method=&quot;evaluate&quot; file=&quot;InvokeMethod.java&quot; 
line=&quot;17&quot; exact=&quot;true&quot; location=&quot;junit-4.11.jar&quot; 
version=&quot;?&quot;/&gt;
-            &lt;ExtendedStackTrace 
class=&quot;org.junit.runners.ParentRunner&quot; method=&quot;runLeaf&quot; 
file=&quot;ParentRunner.java&quot; line=&quot;271&quot; exact=&quot;true&quot; 
location=&quot;junit-4.11.jar&quot; version=&quot;?&quot;/&gt;
-            &lt;ExtendedStackTrace 
class=&quot;org.junit.runners.BlockJUnit4ClassRunner&quot; 
method=&quot;runChild&quot; file=&quot;BlockJUnit4ClassRunner.java&quot; 
line=&quot;70&quot; exact=&quot;true&quot; location=&quot;junit-4.11.jar&quot; 
version=&quot;?&quot;/&gt;
-            &lt;ExtendedStackTrace 
class=&quot;org.junit.runners.BlockJUnit4ClassRunner&quot; 
method=&quot;runChild&quot; file=&quot;BlockJUnit4ClassRunner.java&quot; 
line=&quot;50&quot; exact=&quot;true&quot; location=&quot;junit-4.11.jar&quot; 
version=&quot;?&quot;/&gt;
-            &lt;ExtendedStackTrace 
class=&quot;org.junit.runners.ParentRunner$3&quot; method=&quot;run&quot; 
file=&quot;ParentRunner.java&quot; line=&quot;238&quot; exact=&quot;true&quot; 
location=&quot;junit-4.11.jar&quot; version=&quot;?&quot;/&gt;
-            &lt;ExtendedStackTrace 
class=&quot;org.junit.runners.ParentRunner$1&quot; method=&quot;schedule&quot; 
file=&quot;ParentRunner.java&quot; line=&quot;63&quot; exact=&quot;true&quot; 
location=&quot;junit-4.11.jar&quot; version=&quot;?&quot;/&gt;
-            &lt;ExtendedStackTrace 
class=&quot;org.junit.runners.ParentRunner&quot; method=&quot;runChildren&quot; 
file=&quot;ParentRunner.java&quot; line=&quot;236&quot; exact=&quot;true&quot; 
location=&quot;junit-4.11.jar&quot; version=&quot;?&quot;/&gt;
-            &lt;ExtendedStackTrace 
class=&quot;org.junit.runners.ParentRunner&quot; method=&quot;access$000&quot; 
file=&quot;ParentRunner.java&quot; line=&quot;53&quot; exact=&quot;true&quot; 
location=&quot;junit-4.11.jar&quot; version=&quot;?&quot;/&gt;
-            &lt;ExtendedStackTrace 
class=&quot;org.junit.runners.ParentRunner$2&quot; method=&quot;evaluate&quot; 
file=&quot;ParentRunner.java&quot; line=&quot;229&quot; exact=&quot;true&quot; 
location=&quot;junit-4.11.jar&quot; version=&quot;?&quot;/&gt;
-            &lt;ExtendedStackTrace 
class=&quot;org.junit.internal.runners.statements.RunBefores&quot; 
method=&quot;evaluate&quot; file=&quot;RunBefores.java&quot; 
line=&quot;26&quot; exact=&quot;true&quot; location=&quot;junit-4.11.jar&quot; 
version=&quot;?&quot;/&gt;
-            &lt;ExtendedStackTrace 
class=&quot;org.junit.internal.runners.statements.RunAfters&quot; 
method=&quot;evaluate&quot; file=&quot;RunAfters.java&quot; line=&quot;27&quot; 
exact=&quot;true&quot; location=&quot;junit-4.11.jar&quot; 
version=&quot;?&quot;/&gt;
-            &lt;ExtendedStackTrace 
class=&quot;org.junit.runners.ParentRunner&quot; method=&quot;run&quot; 
file=&quot;ParentRunner.java&quot; line=&quot;309&quot; exact=&quot;true&quot; 
location=&quot;junit-4.11.jar&quot; version=&quot;?&quot;/&gt;
-            &lt;ExtendedStackTrace 
class=&quot;org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference&quot; 
method=&quot;run&quot; file=&quot;JUnit4TestReference.java&quot; 
line=&quot;50&quot; exact=&quot;true&quot; location=&quot;.cp/&quot; 
version=&quot;?&quot;/&gt;
-            &lt;ExtendedStackTrace 
class=&quot;org.eclipse.jdt.internal.junit.runner.TestExecution&quot; 
method=&quot;run&quot; file=&quot;TestExecution.java&quot; line=&quot;38&quot; 
exact=&quot;true&quot; location=&quot;.cp/&quot; version=&quot;?&quot;/&gt;
-            &lt;ExtendedStackTrace 
class=&quot;org.eclipse.jdt.internal.junit.runner.RemoteTestRunner&quot; 
method=&quot;runTests&quot; file=&quot;RemoteTestRunner.java&quot; 
line=&quot;467&quot; exact=&quot;true&quot; location=&quot;.cp/&quot; 
version=&quot;?&quot;/&gt;
-            &lt;ExtendedStackTrace 
class=&quot;org.eclipse.jdt.internal.junit.runner.RemoteTestRunner&quot; 
method=&quot;runTests&quot; file=&quot;RemoteTestRunner.java&quot; 
line=&quot;683&quot; exact=&quot;true&quot; location=&quot;.cp/&quot; 
version=&quot;?&quot;/&gt;
-            &lt;ExtendedStackTrace 
class=&quot;org.eclipse.jdt.internal.junit.runner.RemoteTestRunner&quot; 
method=&quot;run&quot; file=&quot;RemoteTestRunner.java&quot; 
line=&quot;390&quot; exact=&quot;true&quot; location=&quot;.cp/&quot; 
version=&quot;?&quot;/&gt;
-            &lt;ExtendedStackTrace 
class=&quot;org.eclipse.jdt.internal.junit.runner.RemoteTestRunner&quot; 
method=&quot;main&quot; file=&quot;RemoteTestRunner.java&quot; 
line=&quot;197&quot; exact=&quot;true&quot; location=&quot;.cp/&quot; 
version=&quot;?&quot;/&gt;
-        &lt;/ExtendedStackTrace&gt;
-        &lt;Suppressed&gt;
-            &lt;Suppressed commonElementCount=&quot;0&quot; 
localizedMessage=&quot;I am suppressed exception 1&quot; message=&quot;I am 
suppressed exception 1&quot; 
name=&quot;java.lang.IndexOutOfBoundsException&quot;&gt;
-                &lt;ExtendedStackTrace&gt;
-                    &lt;ExtendedStackTrace 
class=&quot;org.apache.logging.log4j.core.layout.LogEventFixtures&quot; 
method=&quot;createLogEvent&quot; file=&quot;LogEventFixtures.java&quot; 
line=&quot;57&quot; exact=&quot;true&quot; location=&quot;test-classes/&quot; 
version=&quot;?&quot;/&gt;
-                    &lt;ExtendedStackTrace 
class=&quot;org.apache.logging.log4j.core.layout.XmlLayoutTest&quot; 
method=&quot;testAllFeatures&quot; file=&quot;XmlLayoutTest.java&quot; 
line=&quot;122&quot; exact=&quot;true&quot; location=&quot;test-classes/&quot; 
version=&quot;?&quot;/&gt;
-                    &lt;ExtendedStackTrace 
class=&quot;org.apache.logging.log4j.core.layout.XmlLayoutTest&quot; 
method=&quot;testLocationOnCompactOnMdcOn&quot; 
file=&quot;XmlLayoutTest.java&quot; line=&quot;270&quot; exact=&quot;true&quot; 
location=&quot;test-classes/&quot; version=&quot;?&quot;/&gt;
-                    &lt;ExtendedStackTrace 
class=&quot;sun.reflect.NativeMethodAccessorImpl&quot; 
method=&quot;invoke&quot; line=&quot;-1&quot; exact=&quot;false&quot; 
location=&quot;?&quot; version=&quot;1.7.0_55&quot;/&gt;
-                    &lt;ExtendedStackTrace 
class=&quot;sun.reflect.NativeMethodAccessorImpl&quot; 
method=&quot;invoke&quot; line=&quot;-1&quot; exact=&quot;false&quot; 
location=&quot;?&quot; version=&quot;1.7.0_55&quot;/&gt;
-                    &lt;ExtendedStackTrace 
class=&quot;sun.reflect.DelegatingMethodAccessorImpl&quot; 
method=&quot;invoke&quot; line=&quot;-1&quot; exact=&quot;false&quot; 
location=&quot;?&quot; version=&quot;1.7.0_55&quot;/&gt;
-                    &lt;ExtendedStackTrace 
class=&quot;java.lang.reflect.Method&quot; method=&quot;invoke&quot; 
line=&quot;-1&quot; exact=&quot;false&quot; location=&quot;?&quot; 
version=&quot;1.7.0_55&quot;/&gt;
-                    &lt;ExtendedStackTrace 
class=&quot;org.junit.runners.model.FrameworkMethod$1&quot; 
method=&quot;runReflectiveCall&quot; file=&quot;FrameworkMethod.java&quot; 
line=&quot;47&quot; exact=&quot;true&quot; location=&quot;junit-4.11.jar&quot; 
version=&quot;?&quot;/&gt;
-                    &lt;ExtendedStackTrace 
class=&quot;org.junit.internal.runners.model.ReflectiveCallable&quot; 
method=&quot;run&quot; file=&quot;ReflectiveCallable.java&quot; 
line=&quot;12&quot; exact=&quot;true&quot; location=&quot;junit-4.11.jar&quot; 
version=&quot;?&quot;/&gt;
-                    &lt;ExtendedStackTrace 
class=&quot;org.junit.runners.model.FrameworkMethod&quot; 
method=&quot;invokeExplosively&quot; file=&quot;FrameworkMethod.java&quot; 
line=&quot;44&quot; exact=&quot;true&quot; location=&quot;junit-4.11.jar&quot; 
version=&quot;?&quot;/&gt;
-                    &lt;ExtendedStackTrace 
class=&quot;org.junit.internal.runners.statements.InvokeMethod&quot; 
method=&quot;evaluate&quot; file=&quot;InvokeMethod.java&quot; 
line=&quot;17&quot; exact=&quot;true&quot; location=&quot;junit-4.11.jar&quot; 
version=&quot;?&quot;/&gt;
-                    &lt;ExtendedStackTrace 
class=&quot;org.junit.runners.ParentRunner&quot; method=&quot;runLeaf&quot; 
file=&quot;ParentRunner.java&quot; line=&quot;271&quot; exact=&quot;true&quot; 
location=&quot;junit-4.11.jar&quot; version=&quot;?&quot;/&gt;
-                    &lt;ExtendedStackTrace 
class=&quot;org.junit.runners.BlockJUnit4ClassRunner&quot; 
method=&quot;runChild&quot; file=&quot;BlockJUnit4ClassRunner.java&quot; 
line=&quot;70&quot; exact=&quot;true&quot; location=&quot;junit-4.11.jar&quot; 
version=&quot;?&quot;/&gt;
-                    &lt;ExtendedStackTrace 
class=&quot;org.junit.runners.BlockJUnit4ClassRunner&quot; 
method=&quot;runChild&quot; file=&quot;BlockJUnit4ClassRunner.java&quot; 
line=&quot;50&quot; exact=&quot;true&quot; location=&quot;junit-4.11.jar&quot; 
version=&quot;?&quot;/&gt;
-                    &lt;ExtendedStackTrace 
class=&quot;org.junit.runners.ParentRunner$3&quot; method=&quot;run&quot; 
file=&quot;ParentRunner.java&quot; line=&quot;238&quot; exact=&quot;true&quot; 
location=&quot;junit-4.11.jar&quot; version=&quot;?&quot;/&gt;
-                    &lt;ExtendedStackTrace 
class=&quot;org.junit.runners.ParentRunner$1&quot; method=&quot;schedule&quot; 
file=&quot;ParentRunner.java&quot; line=&quot;63&quot; exact=&quot;true&quot; 
location=&quot;junit-4.11.jar&quot; version=&quot;?&quot;/&gt;
-                    &lt;ExtendedStackTrace 
class=&quot;org.junit.runners.ParentRunner&quot; method=&quot;runChildren&quot; 
file=&quot;ParentRunner.java&quot; line=&quot;236&quot; exact=&quot;true&quot; 
location=&quot;junit-4.11.jar&quot; version=&quot;?&quot;/&gt;
-                    &lt;ExtendedStackTrace 
class=&quot;org.junit.runners.ParentRunner&quot; method=&quot;access$000&quot; 
file=&quot;ParentRunner.java&quot; line=&quot;53&quot; exact=&quot;true&quot; 
location=&quot;junit-4.11.jar&quot; version=&quot;?&quot;/&gt;
-                    &lt;ExtendedStackTrace 
class=&quot;org.junit.runners.ParentRunner$2&quot; method=&quot;evaluate&quot; 
file=&quot;ParentRunner.java&quot; line=&quot;229&quot; exact=&quot;true&quot; 
location=&quot;junit-4.11.jar&quot; version=&quot;?&quot;/&gt;
-                    &lt;ExtendedStackTrace 
class=&quot;org.junit.internal.runners.statements.RunBefores&quot; 
method=&quot;evaluate&quot; file=&quot;RunBefores.java&quot; 
line=&quot;26&quot; exact=&quot;true&quot; location=&quot;junit-4.11.jar&quot; 
version=&quot;?&quot;/&gt;
-                    &lt;ExtendedStackTrace 
class=&quot;org.junit.internal.runners.statements.RunAfters&quot; 
method=&quot;evaluate&quot; file=&quot;RunAfters.java&quot; line=&quot;27&quot; 
exact=&quot;true&quot; location=&quot;junit-4.11.jar&quot; 
version=&quot;?&quot;/&gt;
-                    &lt;ExtendedStackTrace 
class=&quot;org.junit.runners.ParentRunner&quot; method=&quot;run&quot; 
file=&quot;ParentRunner.java&quot; line=&quot;309&quot; exact=&quot;true&quot; 
location=&quot;junit-4.11.jar&quot; version=&quot;?&quot;/&gt;
-                    &lt;ExtendedStackTrace 
class=&quot;org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference&quot; 
method=&quot;run&quot; file=&quot;JUnit4TestReference.java&quot; 
line=&quot;50&quot; exact=&quot;true&quot; location=&quot;.cp/&quot; 
version=&quot;?&quot;/&gt;
-                    &lt;ExtendedStackTrace 
class=&quot;org.eclipse.jdt.internal.junit.runner.TestExecution&quot; 
method=&quot;run&quot; file=&quot;TestExecution.java&quot; line=&quot;38&quot; 
exact=&quot;true&quot; location=&quot;.cp/&quot; version=&quot;?&quot;/&gt;
-                    &lt;ExtendedStackTrace 
class=&quot;org.eclipse.jdt.internal.junit.runner.RemoteTestRunner&quot; 
method=&quot;runTests&quot; file=&quot;RemoteTestRunner.java&quot; 
line=&quot;467&quot; exact=&quot;true&quot; location=&quot;.cp/&quot; 
version=&quot;?&quot;/&gt;
-                    &lt;ExtendedStackTrace 
class=&quot;org.eclipse.jdt.internal.junit.runner.RemoteTestRunner&quot; 
method=&quot;runTests&quot; file=&quot;RemoteTestRunner.java&quot; 
line=&quot;683&quot; exact=&quot;true&quot; location=&quot;.cp/&quot; 
version=&quot;?&quot;/&gt;
-                    &lt;ExtendedStackTrace 
class=&quot;org.eclipse.jdt.internal.junit.runner.RemoteTestRunner&quot; 
method=&quot;run&quot; file=&quot;RemoteTestRunner.java&quot; 
line=&quot;390&quot; exact=&quot;true&quot; location=&quot;.cp/&quot; 
version=&quot;?&quot;/&gt;
-                    &lt;ExtendedStackTrace 
class=&quot;org.eclipse.jdt.internal.junit.runner.RemoteTestRunner&quot; 
method=&quot;main&quot; file=&quot;RemoteTestRunner.java&quot; 
line=&quot;197&quot; exact=&quot;true&quot; location=&quot;.cp/&quot; 
version=&quot;?&quot;/&gt;
-                &lt;/ExtendedStackTrace&gt;
-            &lt;/Suppressed&gt;
-            &lt;Suppressed commonElementCount=&quot;0&quot; 
localizedMessage=&quot;I am suppressed exception 2&quot; message=&quot;I am 
suppressed exception 2&quot; 
name=&quot;java.lang.IndexOutOfBoundsException&quot;&gt;
-                &lt;ExtendedStackTrace&gt;
-                    &lt;ExtendedStackTrace 
class=&quot;org.apache.logging.log4j.core.layout.LogEventFixtures&quot; 
method=&quot;createLogEvent&quot; file=&quot;LogEventFixtures.java&quot; 
line=&quot;58&quot; exact=&quot;true&quot; location=&quot;test-classes/&quot; 
version=&quot;?&quot;/&gt;
-                    &lt;ExtendedStackTrace 
class=&quot;org.apache.logging.log4j.core.layout.XmlLayoutTest&quot; 
method=&quot;testAllFeatures&quot; file=&quot;XmlLayoutTest.java&quot; 
line=&quot;122&quot; exact=&quot;true&quot; location=&quot;test-classes/&quot; 
version=&quot;?&quot;/&gt;
-                    &lt;ExtendedStackTrace 
class=&quot;org.apache.logging.log4j.core.layout.XmlLayoutTest&quot; 
method=&quot;testLocationOnCompactOnMdcOn&quot; 
file=&quot;XmlLayoutTest.java&quot; line=&quot;270&quot; exact=&quot;true&quot; 
location=&quot;test-classes/&quot; version=&quot;?&quot;/&gt;
-                    &lt;ExtendedStackTrace 
class=&quot;sun.reflect.NativeMethodAccessorImpl&quot; 
method=&quot;invoke&quot; line=&quot;-1&quot; exact=&quot;false&quot; 
location=&quot;?&quot; version=&quot;1.7.0_55&quot;/&gt;
-                    &lt;ExtendedStackTrace 
class=&quot;sun.reflect.NativeMethodAccessorImpl&quot; 
method=&quot;invoke&quot; line=&quot;-1&quot; exact=&quot;false&quot; 
location=&quot;?&quot; version=&quot;1.7.0_55&quot;/&gt;
-                    &lt;ExtendedStackTrace 
class=&quot;sun.reflect.DelegatingMethodAccessorImpl&quot; 
method=&quot;invoke&quot; line=&quot;-1&quot; exact=&quot;false&quot; 
location=&quot;?&quot; version=&quot;1.7.0_55&quot;/&gt;
-                    &lt;ExtendedStackTrace 
class=&quot;java.lang.reflect.Method&quot; method=&quot;invoke&quot; 
line=&quot;-1&quot; exact=&quot;false&quot; location=&quot;?&quot; 
version=&quot;1.7.0_55&quot;/&gt;
-                    &lt;ExtendedStackTrace 
class=&quot;org.junit.runners.model.FrameworkMethod$1&quot; 
method=&quot;runReflectiveCall&quot; file=&quot;FrameworkMethod.java&quot; 
line=&quot;47&quot; exact=&quot;true&quot; location=&quot;junit-4.11.jar&quot; 
version=&quot;?&quot;/&gt;
-                    &lt;ExtendedStackTrace 
class=&quot;org.junit.internal.runners.model.ReflectiveCallable&quot; 
method=&quot;run&quot; file=&quot;ReflectiveCallable.java&quot; 
line=&quot;12&quot; exact=&quot;true&quot; location=&quot;junit-4.11.jar&quot; 
version=&quot;?&quot;/&gt;
-                    &lt;ExtendedStackTrace 
class=&quot;org.junit.runners.model.FrameworkMethod&quot; 
method=&quot;invokeExplosively&quot; file=&quot;FrameworkMethod.java&quot; 
line=&quot;44&quot; exact=&quot;true&quot; location=&quot;junit-4.11.jar&quot; 
version=&quot;?&quot;/&gt;
-                    &lt;ExtendedStackTrace 
class=&quot;org.junit.internal.runners.statements.InvokeMethod&quot; 
method=&quot;evaluate&quot; file=&quot;InvokeMethod.java&quot; 
line=&quot;17&quot; exact=&quot;true&quot; location=&quot;junit-4.11.jar&quot; 
version=&quot;?&quot;/&gt;
-                    &lt;ExtendedStackTrace 
class=&quot;org.junit.runners.ParentRunner&quot; method=&quot;runLeaf&quot; 
file=&quot;ParentRunner.java&quot; line=&quot;271&quot; exact=&quot;true&quot; 
location=&quot;junit-4.11.jar&quot; version=&quot;?&quot;/&gt;
-                    &lt;ExtendedStackTrace 
class=&quot;org.junit.runners.BlockJUnit4ClassRunner&quot; 
method=&quot;runChild&quot; file=&quot;BlockJUnit4ClassRunner.java&quot; 
line=&quot;70&quot; exact=&quot;true&quot; location=&quot;junit-4.11.jar&quot; 
version=&quot;?&quot;/&gt;
-                    &lt;ExtendedStackTrace 
class=&quot;org.junit.runners.BlockJUnit4ClassRunner&quot; 
method=&quot;runChild&quot; file=&quot;BlockJUnit4ClassRunner.java&quot; 
line=&quot;50&quot; exact=&quot;true&quot; location=&quot;junit-4.11.jar&quot; 
version=&quot;?&quot;/&gt;
-                    &lt;ExtendedStackTrace 
class=&quot;org.junit.runners.ParentRunner$3&quot; method=&quot;run&quot; 
file=&quot;ParentRunner.java&quot; line=&quot;238&quot; exact=&quot;true&quot; 
location=&quot;junit-4.11.jar&quot; version=&quot;?&quot;/&gt;
-                    &lt;ExtendedStackTrace 
class=&quot;org.junit.runners.ParentRunner$1&quot; method=&quot;schedule&quot; 
file=&quot;ParentRunner.java&quot; line=&quot;63&quot; exact=&quot;true&quot; 
location=&quot;junit-4.11.jar&quot; version=&quot;?&quot;/&gt;
-                    &lt;ExtendedStackTrace 
class=&quot;org.junit.runners.ParentRunner&quot; method=&quot;runChildren&quot; 
file=&quot;ParentRunner.java&quot; line=&quot;236&quot; exact=&quot;true&quot; 
location=&quot;junit-4.11.jar&quot; version=&quot;?&quot;/&gt;
-                    &lt;ExtendedStackTrace 
class=&quot;org.junit.runners.ParentRunner&quot; method=&quot;access$000&quot; 
file=&quot;ParentRunner.java&quot; line=&quot;53&quot; exact=&quot;true&quot; 
location=&quot;junit-4.11.jar&quot; version=&quot;?&quot;/&gt;
-                    &lt;ExtendedStackTrace 
class=&quot;org.junit.runners.ParentRunner$2&quot; method=&quot;evaluate&quot; 
file=&quot;ParentRunner.java&quot; line=&quot;229&quot; exact=&quot;true&quot; 
location=&quot;junit-4.11.jar&quot; version=&quot;?&quot;/&gt;
-                    &lt;ExtendedStackTrace 
class=&quot;org.junit.internal.runners.statements.RunBefores&quot; 
method=&quot;evaluate&quot; file=&quot;RunBefores.java&quot; 
line=&quot;26&quot; exact=&quot;true&quot; location=&quot;junit-4.11.jar&quot; 
version=&quot;?&quot;/&gt;
-                    &lt;ExtendedStackTrace 
class=&quot;org.junit.internal.runners.statements.RunAfters&quot; 
method=&quot;evaluate&quot; file=&quot;RunAfters.java&quot; line=&quot;27&quot; 
exact=&quot;true&quot; location=&quot;junit-4.11.jar&quot; 
version=&quot;?&quot;/&gt;
-                    &lt;ExtendedStackTrace 
class=&quot;org.junit.runners.ParentRunner&quot; method=&quot;run&quot; 
file=&quot;ParentRunner.java&quot; line=&quot;309&quot; exact=&quot;true&quot; 
location=&quot;junit-4.11.jar&quot; version=&quot;?&quot;/&gt;
-                    &lt;ExtendedStackTrace 
class=&quot;org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference&quot; 
method=&quot;run&quot; file=&quot;JUnit4TestReference.java&quot; 
line=&quot;50&quot; exact=&quot;true&quot; location=&quot;.cp/&quot; 
version=&quot;?&quot;/&gt;
-                    &lt;ExtendedStackTrace 
class=&quot;org.eclipse.jdt.internal.junit.runner.TestExecution&quot; 
method=&quot;run&quot; file=&quot;TestExecution.java&quot; line=&quot;38&quot; 
exact=&quot;true&quot; location=&quot;.cp/&quot; version=&quot;?&quot;/&gt;
-                    &lt;ExtendedStackTrace 
class=&quot;org.eclipse.jdt.internal.junit.runner.RemoteTestRunner&quot; 
method=&quot;runTests&quot; file=&quot;RemoteTestRunner.java&quot; 
line=&quot;467&quot; exact=&quot;true&quot; location=&quot;.cp/&quot; 
version=&quot;?&quot;/&gt;
-                    &lt;ExtendedStackTrace 
class=&quot;org.eclipse.jdt.internal.junit.runner.RemoteTestRunner&quot; 
method=&quot;runTests&quot; file=&quot;RemoteTestRunner.java&quot; 
line=&quot;683&quot; exact=&quot;true&quot; location=&quot;.cp/&quot; 
version=&quot;?&quot;/&gt;
-                    &lt;ExtendedStackTrace 
class=&quot;org.eclipse.jdt.internal.junit.runner.RemoteTestRunner&quot; 
method=&quot;run&quot; file=&quot;RemoteTestRunner.java&quot; 
line=&quot;390&quot; exact=&quot;true&quot; location=&quot;.cp/&quot; 
version=&quot;?&quot;/&gt;
-                    &lt;ExtendedStackTrace 
class=&quot;org.eclipse.jdt.internal.junit.runner.RemoteTestRunner&quot; 
method=&quot;main&quot; file=&quot;RemoteTestRunner.java&quot; 
line=&quot;197&quot; exact=&quot;true&quot; location=&quot;.cp/&quot; 
version=&quot;?&quot;/&gt;
-                &lt;/ExtendedStackTrace&gt;
-            &lt;/Suppressed&gt;
-        &lt;/Suppressed&gt;
-    &lt;/Thrown&gt;
-&lt;/Event&gt;
-</pre>
- * <p>
  * If {@code complete="false"}, the appender does not write the XML processing 
instruction and the root element.
  * </p>
  * <h3>Encoding</h3>
  * <p>
- * Appenders using this layout should have their {@code charset} set to {@code 
UTF-8} or {@code UTF-16}, otherwise events containing non
- * ASCII characters could result in corrupted log files.
+ * Appenders using this layout should have their {@code charset} set to {@code 
UTF-8} or {@code UTF-16}, otherwise
+ * events containing non-ASCII characters could result in corrupted log files.
  * </p>
  * <h3>Pretty vs. compact XML</h3>
  * <p>
- * By default, the XML layout is not compact (compact = not "pretty") with 
{@code compact="false"}, which means the appender uses
- * end-of-line characters and indents lines to format the XML. If {@code 
compact="true"}, then no end-of-line or indentation is used.
- * Message content may contain, of course, end-of-lines.
+ * By default, the XML layout is not compact (compact = not "pretty") with 
{@code compact="false"}, which means the
+ * appender uses end-of-line characters and indents lines to format the XML. 
If {@code compact="true"}, then no
+ * end-of-line or indentation is used. Message content may contain, of course, 
end-of-lines.
  * </p>
  */
-//CHECKSTYLE:ON
 @Plugin(name = "XmlLayout", category = Node.CATEGORY, elementType = 
Layout.ELEMENT_TYPE, printObject = true)
 public final class XmlLayout extends AbstractJacksonLayout {
 

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/4c43152b/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/YamlLayout.java
----------------------------------------------------------------------
diff --git 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/YamlLayout.java 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/YamlLayout.java
index 9ee67d7..c762548 100644
--- 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/YamlLayout.java
+++ 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/YamlLayout.java
@@ -37,657 +37,6 @@ import org.apache.logging.log4j.util.Strings;
 /**
  * Appends a series of YAML events as strings serialized as bytes.
  *
- * <p>
- * A YAML log event follows this pattern:
- * </p>
- *
- * <pre>---
-timeMillis: 1
-thread: "MyThreadName"
-level: "DEBUG"
-loggerName: "a.B"
-marker:
-  name: "Marker1"
-  parents:
-  - name: "ParentMarker1"
-    parents:
-    - name: "GrandMotherMarker"
-    - name: "GrandFatherMarker"
-  - name: "ParentMarker2"
-message: "Msg"
-thrown:
-  commonElementCount: 0
-  localizedMessage: "testIOEx"
-  message: "testIOEx"
-  name: "java.io.IOException"
-  cause:
-    commonElementCount: 27
-    localizedMessage: "testNPEx"
-    message: "testNPEx"
-    name: "java.lang.NullPointerException"
-    extendedStackTrace:
-    - class: "org.apache.logging.log4j.core.layout.LogEventFixtures"
-      method: "createLogEvent"
-      file: "LogEventFixtures.java"
-      line: 52
-      exact: false
-      location: "test-classes/"
-      version: "?"
-  extendedStackTrace:
-  - class: "org.apache.logging.log4j.core.layout.LogEventFixtures"
-    method: "createLogEvent"
-    file: "LogEventFixtures.java"
-    line: 55
-    exact: true
-    location: "test-classes/"
-    version: "?"
-  - class: "org.apache.logging.log4j.core.layout.YamlLayoutTest"
-    method: "testAllFeatures"
-    file: "YamlLayoutTest.java"
-    line: 109
-    exact: true
-    location: "test-classes/"
-    version: "?"
-  - class: "org.apache.logging.log4j.core.layout.YamlLayoutTest"
-    method: "testLocationOnCompactOffEventEolOffMdcOn"
-    file: "YamlLayoutTest.java"
-    line: 280
-    exact: true
-    location: "test-classes/"
-    version: "?"
-  - class: "sun.reflect.NativeMethodAccessorImpl"
-    method: "invoke0"
-    file: "NativeMethodAccessorImpl.java"
-    line: -2
-    exact: false
-    location: "?"
-    version: "1.7.0_79"
-  - class: "sun.reflect.NativeMethodAccessorImpl"
-    method: "invoke"
-    file: "NativeMethodAccessorImpl.java"
-    line: 57
-    exact: false
-    location: "?"
-    version: "1.7.0_79"
-  - class: "sun.reflect.DelegatingMethodAccessorImpl"
-    method: "invoke"
-    file: "DelegatingMethodAccessorImpl.java"
-    line: 43
-    exact: false
-    location: "?"
-    version: "1.7.0_79"
-  - class: "java.lang.reflect.Method"
-    method: "invoke"
-    file: "Method.java"
-    line: 606
-    exact: false
-    location: "?"
-    version: "1.7.0_79"
-  - class: "org.junit.runners.model.FrameworkMethod$1"
-    method: "runReflectiveCall"
-    file: "FrameworkMethod.java"
-    line: 50
-    exact: true
-    location: "junit-4.12.jar"
-    version: "4.12"
-  - class: "org.junit.internal.runners.model.ReflectiveCallable"
-    method: "run"
-    file: "ReflectiveCallable.java"
-    line: 12
-    exact: true
-    location: "junit-4.12.jar"
-    version: "4.12"
-  - class: "org.junit.runners.model.FrameworkMethod"
-    method: "invokeExplosively"
-    file: "FrameworkMethod.java"
-    line: 47
-    exact: true
-    location: "junit-4.12.jar"
-    version: "4.12"
-  - class: "org.junit.internal.runners.statements.InvokeMethod"
-    method: "evaluate"
-    file: "InvokeMethod.java"
-    line: 17
-    exact: true
-    location: "junit-4.12.jar"
-    version: "4.12"
-  - class: "org.junit.runners.ParentRunner"
-    method: "runLeaf"
-    file: "ParentRunner.java"
-    line: 325
-    exact: true
-    location: "junit-4.12.jar"
-    version: "4.12"
-  - class: "org.junit.runners.BlockJUnit4ClassRunner"
-    method: "runChild"
-    file: "BlockJUnit4ClassRunner.java"
-    line: 78
-    exact: true
-    location: "junit-4.12.jar"
-    version: "4.12"
-  - class: "org.junit.runners.BlockJUnit4ClassRunner"
-    method: "runChild"
-    file: "BlockJUnit4ClassRunner.java"
-    line: 57
-    exact: true
-    location: "junit-4.12.jar"
-    version: "4.12"
-  - class: "org.junit.runners.ParentRunner$3"
-    method: "run"
-    file: "ParentRunner.java"
-    line: 290
-    exact: true
-    location: "junit-4.12.jar"
-    version: "4.12"
-  - class: "org.junit.runners.ParentRunner$1"
-    method: "schedule"
-    file: "ParentRunner.java"
-    line: 71
-    exact: true
-    location: "junit-4.12.jar"
-    version: "4.12"
-  - class: "org.junit.runners.ParentRunner"
-    method: "runChildren"
-    file: "ParentRunner.java"
-    line: 288
-    exact: true
-    location: "junit-4.12.jar"
-    version: "4.12"
-  - class: "org.junit.runners.ParentRunner"
-    method: "access$000"
-    file: "ParentRunner.java"
-    line: 58
-    exact: true
-    location: "junit-4.12.jar"
-    version: "4.12"
-  - class: "org.junit.runners.ParentRunner$2"
-    method: "evaluate"
-    file: "ParentRunner.java"
-    line: 268
-    exact: true
-    location: "junit-4.12.jar"
-    version: "4.12"
-  - class: "org.junit.internal.runners.statements.RunBefores"
-    method: "evaluate"
-    file: "RunBefores.java"
-    line: 26
-    exact: true
-    location: "junit-4.12.jar"
-    version: "4.12"
-  - class: "org.junit.internal.runners.statements.RunAfters"
-    method: "evaluate"
-    file: "RunAfters.java"
-    line: 27
-    exact: true
-    location: "junit-4.12.jar"
-    version: "4.12"
-  - class: "org.junit.runners.ParentRunner"
-    method: "run"
-    file: "ParentRunner.java"
-    line: 363
-    exact: true
-    location: "junit-4.12.jar"
-    version: "4.12"
-  - class: "org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference"
-    method: "run"
-    file: "JUnit4TestReference.java"
-    line: 86
-    exact: true
-    location: ".cp/"
-    version: "?"
-  - class: "org.eclipse.jdt.internal.junit.runner.TestExecution"
-    method: "run"
-    file: "TestExecution.java"
-    line: 38
-    exact: true
-    location: ".cp/"
-    version: "?"
-  - class: "org.eclipse.jdt.internal.junit.runner.RemoteTestRunner"
-    method: "runTests"
-    file: "RemoteTestRunner.java"
-    line: 459
-    exact: true
-    location: ".cp/"
-    version: "?"
-  - class: "org.eclipse.jdt.internal.junit.runner.RemoteTestRunner"
-    method: "runTests"
-    file: "RemoteTestRunner.java"
-    line: 675
-    exact: true
-    location: ".cp/"
-    version: "?"
-  - class: "org.eclipse.jdt.internal.junit.runner.RemoteTestRunner"
-    method: "run"
-    file: "RemoteTestRunner.java"
-    line: 382
-    exact: true
-    location: ".cp/"
-    version: "?"
-  - class: "org.eclipse.jdt.internal.junit.runner.RemoteTestRunner"
-    method: "main"
-    file: "RemoteTestRunner.java"
-    line: 192
-    exact: true
-    location: ".cp/"
-    version: "?"
-  suppressed:
-  - commonElementCount: 0
-    localizedMessage: "I am suppressed exception 1"
-    message: "I am suppressed exception 1"
-    name: "java.lang.IndexOutOfBoundsException"
-    extendedStackTrace:
-    - class: "org.apache.logging.log4j.core.layout.LogEventFixtures"
-      method: "createLogEvent"
-      file: "LogEventFixtures.java"
-      line: 56
-      exact: true
-      location: "test-classes/"
-      version: "?"
-    - class: "org.apache.logging.log4j.core.layout.YamlLayoutTest"
-      method: "testAllFeatures"
-      file: "YamlLayoutTest.java"
-      line: 109
-      exact: true
-      location: "test-classes/"
-      version: "?"
-    - class: "org.apache.logging.log4j.core.layout.YamlLayoutTest"
-      method: "testLocationOnCompactOffEventEolOffMdcOn"
-      file: "YamlLayoutTest.java"
-      line: 280
-      exact: true
-      location: "test-classes/"
-      version: "?"
-    - class: "sun.reflect.NativeMethodAccessorImpl"
-      method: "invoke0"
-      file: "NativeMethodAccessorImpl.java"
-      line: -2
-      exact: false
-      location: "?"
-      version: "1.7.0_79"
-    - class: "sun.reflect.NativeMethodAccessorImpl"
-      method: "invoke"
-      file: "NativeMethodAccessorImpl.java"
-      line: 57
-      exact: false
-      location: "?"
-      version: "1.7.0_79"
-    - class: "sun.reflect.DelegatingMethodAccessorImpl"
-      method: "invoke"
-      file: "DelegatingMethodAccessorImpl.java"
-      line: 43
-      exact: false
-      location: "?"
-      version: "1.7.0_79"
-    - class: "java.lang.reflect.Method"
-      method: "invoke"
-      file: "Method.java"
-      line: 606
-      exact: false
-      location: "?"
-      version: "1.7.0_79"
-    - class: "org.junit.runners.model.FrameworkMethod$1"
-      method: "runReflectiveCall"
-      file: "FrameworkMethod.java"
-      line: 50
-      exact: true
-      location: "junit-4.12.jar"
-      version: "4.12"
-    - class: "org.junit.internal.runners.model.ReflectiveCallable"
-      method: "run"
-      file: "ReflectiveCallable.java"
-      line: 12
-      exact: true
-      location: "junit-4.12.jar"
-      version: "4.12"
-    - class: "org.junit.runners.model.FrameworkMethod"
-      method: "invokeExplosively"
-      file: "FrameworkMethod.java"
-      line: 47
-      exact: true
-      location: "junit-4.12.jar"
-      version: "4.12"
-    - class: "org.junit.internal.runners.statements.InvokeMethod"
-      method: "evaluate"
-      file: "InvokeMethod.java"
-      line: 17
-      exact: true
-      location: "junit-4.12.jar"
-      version: "4.12"
-    - class: "org.junit.runners.ParentRunner"
-      method: "runLeaf"
-      file: "ParentRunner.java"
-      line: 325
-      exact: true
-      location: "junit-4.12.jar"
-      version: "4.12"
-    - class: "org.junit.runners.BlockJUnit4ClassRunner"
-      method: "runChild"
-      file: "BlockJUnit4ClassRunner.java"
-      line: 78
-      exact: true
-      location: "junit-4.12.jar"
-      version: "4.12"
-    - class: "org.junit.runners.BlockJUnit4ClassRunner"
-      method: "runChild"
-      file: "BlockJUnit4ClassRunner.java"
-      line: 57
-      exact: true
-      location: "junit-4.12.jar"
-      version: "4.12"
-    - class: "org.junit.runners.ParentRunner$3"
-      method: "run"
-      file: "ParentRunner.java"
-      line: 290
-      exact: true
-      location: "junit-4.12.jar"
-      version: "4.12"
-    - class: "org.junit.runners.ParentRunner$1"
-      method: "schedule"
-      file: "ParentRunner.java"
-      line: 71
-      exact: true
-      location: "junit-4.12.jar"
-      version: "4.12"
-    - class: "org.junit.runners.ParentRunner"
-      method: "runChildren"
-      file: "ParentRunner.java"
-      line: 288
-      exact: true
-      location: "junit-4.12.jar"
-      version: "4.12"
-    - class: "org.junit.runners.ParentRunner"
-      method: "access$000"
-      file: "ParentRunner.java"
-      line: 58
-      exact: true
-      location: "junit-4.12.jar"
-      version: "4.12"
-    - class: "org.junit.runners.ParentRunner$2"
-      method: "evaluate"
-      file: "ParentRunner.java"
-      line: 268
-      exact: true
-      location: "junit-4.12.jar"
-      version: "4.12"
-    - class: "org.junit.internal.runners.statements.RunBefores"
-      method: "evaluate"
-      file: "RunBefores.java"
-      line: 26
-      exact: true
-      location: "junit-4.12.jar"
-      version: "4.12"
-    - class: "org.junit.internal.runners.statements.RunAfters"
-      method: "evaluate"
-      file: "RunAfters.java"
-      line: 27
-      exact: true
-      location: "junit-4.12.jar"
-      version: "4.12"
-    - class: "org.junit.runners.ParentRunner"
-      method: "run"
-      file: "ParentRunner.java"
-      line: 363
-      exact: true
-      location: "junit-4.12.jar"
-      version: "4.12"
-    - class: "org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference"
-      method: "run"
-      file: "JUnit4TestReference.java"
-      line: 86
-      exact: true
-      location: ".cp/"
-      version: "?"
-    - class: "org.eclipse.jdt.internal.junit.runner.TestExecution"
-      method: "run"
-      file: "TestExecution.java"
-      line: 38
-      exact: true
-      location: ".cp/"
-      version: "?"
-    - class: "org.eclipse.jdt.internal.junit.runner.RemoteTestRunner"
-      method: "runTests"
-      file: "RemoteTestRunner.java"
-      line: 459
-      exact: true
-      location: ".cp/"
-      version: "?"
-    - class: "org.eclipse.jdt.internal.junit.runner.RemoteTestRunner"
-      method: "runTests"
-      file: "RemoteTestRunner.java"
-      line: 675
-      exact: true
-      location: ".cp/"
-      version: "?"
-    - class: "org.eclipse.jdt.internal.junit.runner.RemoteTestRunner"
-      method: "run"
-      file: "RemoteTestRunner.java"
-      line: 382
-      exact: true
-      location: ".cp/"
-      version: "?"
-    - class: "org.eclipse.jdt.internal.junit.runner.RemoteTestRunner"
-      method: "main"
-      file: "RemoteTestRunner.java"
-      line: 192
-      exact: true
-      location: ".cp/"
-      version: "?"
-  - commonElementCount: 0
-    localizedMessage: "I am suppressed exception 2"
-    message: "I am suppressed exception 2"
-    name: "java.lang.IndexOutOfBoundsException"
-    extendedStackTrace:
-    - class: "org.apache.logging.log4j.core.layout.LogEventFixtures"
-      method: "createLogEvent"
-      file: "LogEventFixtures.java"
-      line: 57
-      exact: true
-      location: "test-classes/"
-      version: "?"
-    - class: "org.apache.logging.log4j.core.layout.YamlLayoutTest"
-      method: "testAllFeatures"
-      file: "YamlLayoutTest.java"
-      line: 109
-      exact: true
-      location: "test-classes/"
-      version: "?"
-    - class: "org.apache.logging.log4j.core.layout.YamlLayoutTest"
-      method: "testLocationOnCompactOffEventEolOffMdcOn"
-      file: "YamlLayoutTest.java"
-      line: 280
-      exact: true
-      location: "test-classes/"
-      version: "?"
-    - class: "sun.reflect.NativeMethodAccessorImpl"
-      method: "invoke0"
-      file: "NativeMethodAccessorImpl.java"
-      line: -2
-      exact: false
-      location: "?"
-      version: "1.7.0_79"
-    - class: "sun.reflect.NativeMethodAccessorImpl"
-      method: "invoke"
-      file: "NativeMethodAccessorImpl.java"
-      line: 57
-      exact: false
-      location: "?"
-      version: "1.7.0_79"
-    - class: "sun.reflect.DelegatingMethodAccessorImpl"
-      method: "invoke"
-      file: "DelegatingMethodAccessorImpl.java"
-      line: 43
-      exact: false
-      location: "?"
-      version: "1.7.0_79"
-    - class: "java.lang.reflect.Method"
-      method: "invoke"
-      file: "Method.java"
-      line: 606
-      exact: false
-      location: "?"
-      version: "1.7.0_79"
-    - class: "org.junit.runners.model.FrameworkMethod$1"
-      method: "runReflectiveCall"
-      file: "FrameworkMethod.java"
-      line: 50
-      exact: true
-      location: "junit-4.12.jar"
-      version: "4.12"
-    - class: "org.junit.internal.runners.model.ReflectiveCallable"
-      method: "run"
-      file: "ReflectiveCallable.java"
-      line: 12
-      exact: true
-      location: "junit-4.12.jar"
-      version: "4.12"
-    - class: "org.junit.runners.model.FrameworkMethod"
-      method: "invokeExplosively"
-      file: "FrameworkMethod.java"
-      line: 47
-      exact: true
-      location: "junit-4.12.jar"
-      version: "4.12"
-    - class: "org.junit.internal.runners.statements.InvokeMethod"
-      method: "evaluate"
-      file: "InvokeMethod.java"
-      line: 17
-      exact: true
-      location: "junit-4.12.jar"
-      version: "4.12"
-    - class: "org.junit.runners.ParentRunner"
-      method: "runLeaf"
-      file: "ParentRunner.java"
-      line: 325
-      exact: true
-      location: "junit-4.12.jar"
-      version: "4.12"
-    - class: "org.junit.runners.BlockJUnit4ClassRunner"
-      method: "runChild"
-      file: "BlockJUnit4ClassRunner.java"
-      line: 78
-      exact: true
-      location: "junit-4.12.jar"
-      version: "4.12"
-    - class: "org.junit.runners.BlockJUnit4ClassRunner"
-      method: "runChild"
-      file: "BlockJUnit4ClassRunner.java"
-      line: 57
-      exact: true
-      location: "junit-4.12.jar"
-      version: "4.12"
-    - class: "org.junit.runners.ParentRunner$3"
-      method: "run"
-      file: "ParentRunner.java"
-      line: 290
-      exact: true
-      location: "junit-4.12.jar"
-      version: "4.12"
-    - class: "org.junit.runners.ParentRunner$1"
-      method: "schedule"
-      file: "ParentRunner.java"
-      line: 71
-      exact: true
-      location: "junit-4.12.jar"
-      version: "4.12"
-    - class: "org.junit.runners.ParentRunner"
-      method: "runChildren"
-      file: "ParentRunner.java"
-      line: 288
-      exact: true
-      location: "junit-4.12.jar"
-      version: "4.12"
-    - class: "org.junit.runners.ParentRunner"
-      method: "access$000"
-      file: "ParentRunner.java"
-      line: 58
-      exact: true
-      location: "junit-4.12.jar"
-      version: "4.12"
-    - class: "org.junit.runners.ParentRunner$2"
-      method: "evaluate"
-      file: "ParentRunner.java"
-      line: 268
-      exact: true
-      location: "junit-4.12.jar"
-      version: "4.12"
-    - class: "org.junit.internal.runners.statements.RunBefores"
-      method: "evaluate"
-      file: "RunBefores.java"
-      line: 26
-      exact: true
-      location: "junit-4.12.jar"
-      version: "4.12"
-    - class: "org.junit.internal.runners.statements.RunAfters"
-      method: "evaluate"
-      file: "RunAfters.java"
-      line: 27
-      exact: true
-      location: "junit-4.12.jar"
-      version: "4.12"
-    - class: "org.junit.runners.ParentRunner"
-      method: "run"
-      file: "ParentRunner.java"
-      line: 363
-      exact: true
-      location: "junit-4.12.jar"
-      version: "4.12"
-    - class: "org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference"
-      method: "run"
-      file: "JUnit4TestReference.java"
-      line: 86
-      exact: true
-      location: ".cp/"
-      version: "?"
-    - class: "org.eclipse.jdt.internal.junit.runner.TestExecution"
-      method: "run"
-      file: "TestExecution.java"
-      line: 38
-      exact: true
-      location: ".cp/"
-      version: "?"
-    - class: "org.eclipse.jdt.internal.junit.runner.RemoteTestRunner"
-      method: "runTests"
-      file: "RemoteTestRunner.java"
-      line: 459
-      exact: true
-      location: ".cp/"
-      version: "?"
-    - class: "org.eclipse.jdt.internal.junit.runner.RemoteTestRunner"
-      method: "runTests"
-      file: "RemoteTestRunner.java"
-      line: 675
-      exact: true
-      location: ".cp/"
-      version: "?"
-    - class: "org.eclipse.jdt.internal.junit.runner.RemoteTestRunner"
-      method: "run"
-      file: "RemoteTestRunner.java"
-      line: 382
-      exact: true
-      location: ".cp/"
-      version: "?"
-    - class: "org.eclipse.jdt.internal.junit.runner.RemoteTestRunner"
-      method: "main"
-      file: "RemoteTestRunner.java"
-      line: 192
-      exact: true
-      location: ".cp/"
-      version: "?"
-contextStack:
-- "stack_msg1"
-- "stack_msg2"
-endOfBatch: false
-loggerFqcn: "f.q.c.n"
-contextMap:
- MDC.B: "B_Value"
- MDC.A: "A_Value"
-threadId: 1
-threadPriority: 5
-source:
-  class: "org.apache.logging.log4j.core.layout.LogEventFixtures"
-  method: "createLogEvent"
-  file: "LogEventFixtures.java"
-  line: 53</pre>
  * <h3>Encoding</h3>
  * <p>
  * Appenders using this layout should have their {@code charset} set to {@code 
UTF-8} or {@code UTF-16}, otherwise

http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/4c43152b/src/site/xdoc/manual/layouts.xml.vm
----------------------------------------------------------------------
diff --git a/src/site/xdoc/manual/layouts.xml.vm 
b/src/site/xdoc/manual/layouts.xml.vm
index 0699abf..2803b4c 100644
--- a/src/site/xdoc/manual/layouts.xml.vm
+++ b/src/site/xdoc/manual/layouts.xml.vm
@@ -303,7 +303,6 @@ logger.debug("one={}, two={}, three={}", 1, 2, 3);
         </subsection>
         <a name="JSONLayout"/>
         <subsection name="JSON Layout">
-          <!-- From Javadoc of org.apache.logging.log4j.core.layout.JsonLayout 
-->
           <p>
           Appends a series of JSON events as strings serialized as bytes.
           </p>
@@ -314,30 +313,56 @@ logger.debug("one={}, two={}, three={}", 1, 2, 3);
           separate file to form a well-formed JSON document.
           </p>
           <p>
-          A well-formed JSON document follows this pattern:
+          If <code>complete="false"</code>, the appender does not write the 
JSON open array character "[" at the start
+          of the document, "]" and the end, nor comma "," between records.
           </p>
-          <pre class="prettyprint linenums">[
-  {
-    "logger":"com.foo.Bar",
-    "timestamp":"1376681196470",
-    "level":"INFO",
-    "threadId":1,
-    "thread":"main",
-    "threadPriority":1,
-    "message":"Message flushed with immediate flush=true"
+          <p>
+          Log event follows this pattern:
+          </p>
+          <pre class="prettyprint linenums">{
+  "timeMillis" : 1493121664118,
+  "thread" : "main",
+  "level" : "INFO",
+  "loggerName" : "HelloWorld",
+  "marker" : {
+    "name" : "child",
+    "parents" : [ {
+      "name" : "parent",
+      "parents" : [ {
+        "name" : "grandparent"
+      } ]
+    } ]
+  },
+  "message" : "Hello, world!",
+  "thrown" : {
+    "commonElementCount" : 0,
+    "name" : "java.lang.RuntimeException",
+    "extendedStackTrace" : [ {
+      "class" : "logtest.Main",
+      "method" : "main",
+      "file" : "Main.java",
+      "line" : 29,
+      "exact" : true,
+      "location" : "classes/",
+      "version" : "?"
+    } ]
   },
-  {
-    "logger":"com.foo.Bar",
-    "timestamp":"1376681196471",
-    "level":"ERROR",
-    "threadId":1,
-    "thread":"main",
-    "threadPriority":1,
-    "message":"Message flushed with immediate flush=true",
-    "throwable":"java.lang.IllegalArgumentException: badarg\\n\\tat 
org.apache.logging.log4j.core.appender.JSONCompleteFileAppenderTest.testFlushAtEndOfBatch(JSONCompleteFileAppenderTest.java:54)\\n\\tat
 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\\n\\tat 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)\\n\\tat
 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\\n\\tat
 java.lang.reflect.Method.invoke(Method.java:606)\\n\\tat 
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)\\n\\tat
 
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)\\n\\tat
 
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)\\n\\tat
 
org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)\\n\\tat
 org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)\\n\\tat 
org.junit.runners.BlockJUnit4ClassRunner.runChild(Bl
 ockJUnit4ClassRunner.java:70)\\n\\tat 
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)\\n\\tat
 org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)\\n\\tat 
org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)\\n\\tat 
org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)\\n\\tat 
org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)\\n\\tat 
org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)\\n\\tat 
org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)\\n\\tat
 org.junit.runners.ParentRunner.run(ParentRunner.java:309)\\n\\tat 
org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)\\n\\tat
 
org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)\\n\\tat
 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)\\n\\tat
 org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTe
 stRunner.java:683)\\n\\tat 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)\\n\\tat
 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)\\n"
+  "contextStack" : [ "one", "two" ],
+  "endOfBatch" : false,
+  "loggerFqcn" : "org.apache.logging.log4j.spi.AbstractLogger",
+  "contextMap" : {
+    "bar" : "BAR",
+    "foo" : "FOO"
+  },
+  "threadId" : 1,
+  "threadPriority" : 5,
+  "source" : {
+    "class" : "logtest.Main",
+    "method" : "main",
+    "file" : "Main.java",
+    "line" : 29
   }
-]
-</pre>
+}</pre>
           <p>
           If <code>complete="false"</code>, the appender does not write the 
JSON open array character "[" at the start
           of the document, "]" and the end, nor comma "," between records.
@@ -1970,7 +1995,6 @@ at 
org.apache.logging.log4j.core.pattern.ExtendedThrowableTest.testException(Ext
         </subsection>
         <a name="XMLLayout"/>
         <subsection name="XML Layout">
-          <!-- From Javadoc of org.apache.logging.log4j.core.layout.XmlLayout 
-->
           <p>
             <!-- FIXME: log4j.dtd link is broken -->
           Appends a series of <code>Event</code> elements as defined in the <a 
href="log4j.dtd">log4j.dtd</a>.
@@ -1986,17 +2010,52 @@ at 
org.apache.logging.log4j.core.pattern.ExtendedThrowableTest.testException(Ext
           <p>
           A well-formed XML document follows this pattern:
           </p>
-          <pre class="prettyprint linenums">&lt;?xml version=&quot;1.0&quot; 
encoding=&quot;UTF-8&quot;?&gt;
-&lt;Events xmlns=&quot;http://logging.apache.org/log4j/2.0/events&quot;&gt;
-  &lt;Event logger=&quot;com.foo.Bar&quot; timestamp=&quot;1373436580419&quot; 
level=&quot;INFO&quot; threadId=&quot;1&quot; thread=&quot;main&quot; 
threadPriority=&quot;1&quot;&gt;
-    &lt;Message&gt;&lt;![CDATA[This is a log message 1]]&gt;&lt;/Message&gt;
-    &lt;Marker parent=&quot;Parent Marker&quot;&gt;&lt;Child 
Marker&gt;&lt;/Marker&gt;
-  &lt;/Event&gt;
-  &lt;Event logger=&quot;com.foo.Baz&quot; timestamp=&quot;1373436580420&quot; 
level=&quot;INFO&quot; threadId=&quot;1&quot; thread=&quot;main&quot; 
threadPriority=&quot;1&quot;&gt;
-    &lt;Message&gt;&lt;![CDATA[This is a log message 2]]&gt;&lt;/Message&gt;
-    &lt;Marker&gt;&lt;The Marker Name&gt;&lt;/Marker&gt;
-  &lt;/Event&gt;
-&lt;/Events&gt;</pre>
+          <pre class="prettyprint linenums">&lt;Event 
xmlns="http://logging.apache.org/log4j/2.0/events";
+       timeMillis="1493122559666"
+       level="INFO"
+       loggerName="HelloWorld"
+       endOfBatch="false"
+       thread="main"
+       loggerFqcn="org.apache.logging.log4j.spi.AbstractLogger"
+       threadId="1"
+       threadPriority="5"&gt;
+  &lt;Marker name="child"&gt;
+    &lt;Parents&gt;
+      &lt;Marker name="parent"&gt;
+        &lt;Parents&gt;
+          &lt;Marker name="grandparent"/&gt;
+        &lt;/Parents&gt;
+      &lt;/Marker&gt;
+    &lt;/Parents&gt;
+  &lt;/Marker&gt;
+  &lt;Message&gt;Hello, world!&lt;/Message&gt;
+  &lt;ContextMap&gt;
+    &lt;item key="bar" value="BAR"/&gt;
+    &lt;item key="foo" value="FOO"/&gt;
+  &lt;/ContextMap&gt;
+  &lt;ContextStack&gt;
+    &lt;ContextStackItem&gt;one&lt;/ContextStackItem&gt;
+    &lt;ContextStackItem&gt;two&lt;/ContextStackItem&gt;
+  &lt;/ContextStack&gt;
+  &lt;Source
+      class="logtest.Main"
+      method="main"
+      file="Main.java"
+      line="29"/&gt;
+  &lt;Thrown commonElementCount="0" name="java.lang.RuntimeException"&gt;
+    &lt;ExtendedStackTrace&gt;
+      &lt;ExtendedStackTraceItem
+          class="logtest.Main"
+          method="main"
+          file="Main.java"
+          line="29"
+          exact="true"
+          location="classes/"
+          version="?"/&gt;
+    &lt;/ExtendedStackTrace&gt;
+  &lt;/Thrown&gt;
+&lt;/Event&gt;
+</pre>
           <p>
           If <code>complete="false"</code>, the appender does not write the 
XML processing instruction and the root
           element.
@@ -2005,7 +2064,6 @@ at 
org.apache.logging.log4j.core.pattern.ExtendedThrowableTest.testException(Ext
           <p>Markers are represented by a <code>Marker</code> element within 
the <code>Event</code> element.
           The <code>Marker</code> element appears only when a marker is used 
in the log message. The name of the marker's
           parent will be provided in the <code>parent</code> attribute of the 
<code>Marker</code> element.
-          Only the leaf marker is included, not the full hierarchy.
           </p>
           <h4>Pretty vs. compact XML</h4>
           <p>
@@ -2063,144 +2121,51 @@ at 
org.apache.logging.log4j.core.pattern.ExtendedThrowableTest.testException(Ext
         </subsection>
         <a name="YamlLayout"/>
         <subsection name="YAML Layout">
-          <!-- From Javadoc of org.apache.logging.log4j.core.layout.YamlLayout 
-->
           <p>
             Appends a series of YAML events as strings serialized as bytes.
           </p>
           <p>
             A YAML log event follows this pattern:
           </p>
-          <pre>---
-timeMillis: 1
-thread: "MyThreadName"
-level: "DEBUG"
-loggerName: "a.B"
+          <pre class="prettyprint linenums">---
+timeMillis: 1493122307075
+thread: "main"
+level: "INFO"
+loggerName: "HelloWorld"
 marker:
-  name: "Marker1"
-  parents:
-  - name: "ParentMarker1"
-    parents:
-    - name: "GrandMotherMarker"
-    - name: "GrandFatherMarker"
-  - name: "ParentMarker2"
-message: "Msg"
+ name: "child"
+ parents:
+ - name: "parent"
+   parents:
+   - name: "grandparent"
+message: "Hello, world!"
 thrown:
-  commonElementCount: 0
-  localizedMessage: "testIOEx"
-  message: "testIOEx"
-  name: "java.io.IOException"
-  cause:
-    commonElementCount: 27
-    localizedMessage: "testNPEx"
-    message: "testNPEx"
-    name: "java.lang.NullPointerException"
-    extendedStackTrace:
-    - class: "org.apache.logging.log4j.core.layout.LogEventFixtures"
-      method: "createLogEvent"
-      file: "LogEventFixtures.java"
-      line: 52
-      exact: false
-      location: "test-classes/"
-      version: "?"
-  extendedStackTrace:
-  - class: "org.apache.logging.log4j.core.layout.LogEventFixtures"
-    method: "createLogEvent"
-    file: "LogEventFixtures.java"
-    line: 55
-    exact: true
-    location: "test-classes/"
-    version: "?"
-  - class: "org.apache.logging.log4j.core.layout.YamlLayoutTest"
-    method: "testAllFeatures"
-    file: "YamlLayoutTest.java"
-    line: 109
-    exact: true
-    location: "test-classes/"
-    version: "?"
-  - class: "org.apache.logging.log4j.core.layout.YamlLayoutTest"
-    method: "testLocationOnCompactOffEventEolOffMdcOn"
-    file: "YamlLayoutTest.java"
-    line: 280
-    exact: true
-    location: "test-classes/"
-    version: "?"
-
-...
-
-  suppressed:
-  - commonElementCount: 0
-    localizedMessage: "I am suppressed exception 1"
-    message: "I am suppressed exception 1"
-    name: "java.lang.IndexOutOfBoundsException"
-    extendedStackTrace:
-    - class: "org.apache.logging.log4j.core.layout.LogEventFixtures"
-      method: "createLogEvent"
-      file: "LogEventFixtures.java"
-      line: 56
-      exact: true
-      location: "test-classes/"
-      version: "?"
-    - class: "org.apache.logging.log4j.core.layout.YamlLayoutTest"
-      method: "testAllFeatures"
-      file: "YamlLayoutTest.java"
-      line: 109
-      exact: true
-      location: "test-classes/"
-      version: "?"
-    - class: "org.apache.logging.log4j.core.layout.YamlLayoutTest"
-      method: "testLocationOnCompactOffEventEolOffMdcOn"
-      file: "YamlLayoutTest.java"
-      line: 280
-      exact: true
-      location: "test-classes/"
-      version: "?"
-
-...
-
-  - commonElementCount: 0
-    localizedMessage: "I am suppressed exception 2"
-    message: "I am suppressed exception 2"
-    name: "java.lang.IndexOutOfBoundsException"
-    extendedStackTrace:
-    - class: "org.apache.logging.log4j.core.layout.LogEventFixtures"
-      method: "createLogEvent"
-      file: "LogEventFixtures.java"
-      line: 57
-      exact: true
-      location: "test-classes/"
-      version: "?"
-    - class: "org.apache.logging.log4j.core.layout.YamlLayoutTest"
-      method: "testAllFeatures"
-      file: "YamlLayoutTest.java"
-      line: 109
-      exact: true
-      location: "test-classes/"
-      version: "?"
-    - class: "org.apache.logging.log4j.core.layout.YamlLayoutTest"
-      method: "testLocationOnCompactOffEventEolOffMdcOn"
-      file: "YamlLayoutTest.java"
-      line: 280
-      exact: true
-      location: "test-classes/"
-      version: "?"
-
-...
-
+ commonElementCount: 0
+ name: "java.lang.RuntimeException"
+ extendedStackTrace:
+ - class: "logtest.Main"
+   method: "main"
+   file: "Main.java"
+   line: 29
+   exact: true
+   location: "classes/"
+   version: "?"
 contextStack:
-- "stack_msg1"
-- "stack_msg2"
+- "one"
+- "two"
 endOfBatch: false
-loggerFqcn: "f.q.c.n"
+loggerFqcn: "org.apache.logging.log4j.spi.AbstractLogger"
 contextMap:
-  MDC.B: "B_Value"
-  MDC.A: "A_Value"
+ bar: "BAR"
+ foo: "FOO"
 threadId: 1
 threadPriority: 5
 source:
-  class: "org.apache.logging.log4j.core.layout.LogEventFixtures"
-  method: "createLogEvent"
-  file: "LogEventFixtures.java"
-  line: 53</pre>
+ class: "logtest.Main"
+ method: "main"
+ file: "Main.java"
+ line: 29
+</pre>
           <table>
             <tr>
               <th>Parameter Name</th>

Reply via email to