lilith Wiki
Brought to you by:
huxhorn
The JSON Logging event format used by Lilith looks like this:
{ "message":{ "messagePattern":"message", "arguments":[ "arg1", null, "arg3" ] }, "logger":"Logger", "marker":{ "name":"marker", "references":{ "marker2-1":{ "name":"marker2-1" }, "marker2-2":{ "name":"marker2-2", "references":{ "marker3-1":{ "name":"marker3-1", "references":{ "marker2-1":{ "name":"marker2-1" } } } } } } }, "threadInfo":{ "name":"Thread-Name", "id":17, "groupId":42, "groupName":"ThreadGroup-Name" }, "sequenceNumber":42, "loggerContext":{ "name":"ContextName", "properties":{ "foo":"bar" }, "birthTime":1234567890000 }, "timeStamp":1234567890000, "level":"INFO", "throwable":{ "cause":{ "cause":{ "name":"yet.another.exception.class.Name", "message":"Huhu! Exception Message", "stackTrace":[ { "fileName":"LoggingEventIOTestBase.java", "lineNumber":306, "className":"de.huxhorn.lilith.data.logging.test.LoggingEventIOTestBase", "methodName":"createStackTraceElements", "version":"Version", "codeLocation":"CodeLocation", "exact":true }, { "fileName":"LoggingEventIOTestBase.java", "lineNumber":299, "className":"de.huxhorn.lilith.data.logging.test.LoggingEventIOTestBase", "methodName":"createThrowableInfo", "version":"Version", "codeLocation":"CodeLocation", "exact":false }, { "fileName":"LoggingEventIOTestBase.java", "lineNumber":254, "className":"de.huxhorn.lilith.data.logging.test.LoggingEventIOTestBase", "methodName":"full", "exact":false }, { "fileName":"NativeMethodAccessorImpl.java", "lineNumber":-2, "className":"sun.reflect.NativeMethodAccessorImpl", "methodName":"invoke0", "exact":false }, { "fileName":"NativeMethodAccessorImpl.java", "lineNumber":39, "className":"sun.reflect.NativeMethodAccessorImpl", "methodName":"invoke", "exact":false }, { "fileName":"DelegatingMethodAccessorImpl.java", "lineNumber":25, "className":"sun.reflect.DelegatingMethodAccessorImpl", "methodName":"invoke", "exact":false }, { "fileName":"Method.java", "lineNumber":597, "className":"java.lang.reflect.Method", "methodName":"invoke", "exact":false }, { "fileName":"FrameworkMethod.java", "lineNumber":44, "className":"org.junit.runners.model.FrameworkMethod$1", "methodName":"runReflectiveCall", "exact":false }, { "fileName":"ReflectiveCallable.java", "lineNumber":15, "className":"org.junit.internal.runners.model.ReflectiveCallable", "methodName":"run", "exact":false }, { "fileName":"FrameworkMethod.java", "lineNumber":41, "className":"org.junit.runners.model.FrameworkMethod", "methodName":"invokeExplosively", "exact":false }, { "fileName":"InvokeMethod.java", "lineNumber":20, "className":"org.junit.internal.runners.statements.InvokeMethod", "methodName":"evaluate", "exact":false }, { "fileName":"RunBefores.java", "lineNumber":28, "className":"org.junit.internal.runners.statements.RunBefores", "methodName":"evaluate", "exact":false }, { "fileName":"RunAfters.java", "lineNumber":31, "className":"org.junit.internal.runners.statements.RunAfters", "methodName":"evaluate", "exact":false }, { "fileName":"BlockJUnit4ClassRunner.java", "lineNumber":76, "className":"org.junit.runners.BlockJUnit4ClassRunner", "methodName":"runChild", "exact":false }, { "fileName":"BlockJUnit4ClassRunner.java", "lineNumber":50, "className":"org.junit.runners.BlockJUnit4ClassRunner", "methodName":"runChild", "exact":false }, { "fileName":"ParentRunner.java", "lineNumber":193, "className":"org.junit.runners.ParentRunner$3", "methodName":"run", "exact":false }, { "fileName":"ParentRunner.java", "lineNumber":52, "className":"org.junit.runners.ParentRunner$1", "methodName":"schedule", "exact":false }, { "fileName":"ParentRunner.java", "lineNumber":191, "className":"org.junit.runners.ParentRunner", "methodName":"runChildren", "exact":false }, { "fileName":"ParentRunner.java", "lineNumber":42, "className":"org.junit.runners.ParentRunner", "methodName":"access$000", "exact":false }, { "fileName":"ParentRunner.java", "lineNumber":184, "className":"org.junit.runners.ParentRunner$2", "methodName":"evaluate", "exact":false }, { "fileName":"ParentRunner.java", "lineNumber":236, "className":"org.junit.runners.ParentRunner", "methodName":"run", "exact":false }, { "fileName":"Suite.java", "lineNumber":128, "className":"org.junit.runners.Suite", "methodName":"runChild", "exact":false }, { "fileName":"Suite.java", "lineNumber":24, "className":"org.junit.runners.Suite", "methodName":"runChild", "exact":false }, { "fileName":"ParentRunner.java", "lineNumber":193, "className":"org.junit.runners.ParentRunner$3", "methodName":"run", "exact":false }, { "fileName":"ParentRunner.java", "lineNumber":52, "className":"org.junit.runners.ParentRunner$1", "methodName":"schedule", "exact":false }, { "fileName":"ParentRunner.java", "lineNumber":191, "className":"org.junit.runners.ParentRunner", "methodName":"runChildren", "exact":false }, { "fileName":"ParentRunner.java", "lineNumber":42, "className":"org.junit.runners.ParentRunner", "methodName":"access$000", "exact":false }, { "fileName":"ParentRunner.java", "lineNumber":184, "className":"org.junit.runners.ParentRunner$2", "methodName":"evaluate", "exact":false }, { "fileName":"ParentRunner.java", "lineNumber":236, "className":"org.junit.runners.ParentRunner", "methodName":"run", "exact":false }, { "fileName":"JUnitCore.java", "lineNumber":157, "className":"org.junit.runner.JUnitCore", "methodName":"run", "exact":false }, { "fileName":"JUnit4IdeaTestRunner.java", "lineNumber":94, "className":"com.intellij.junit4.JUnit4IdeaTestRunner", "methodName":"startRunnerWithArgs", "exact":false }, { "fileName":"JUnitStarter.java", "lineNumber":192, "className":"com.intellij.rt.execution.junit.JUnitStarter", "methodName":"prepareStreamsAndStart", "exact":false }, { "fileName":"JUnitStarter.java", "lineNumber":64, "className":"com.intellij.rt.execution.junit.JUnitStarter", "methodName":"main", "exact":false } ], "omittedElements":0 }, "name":"another.exception.class.Name", "message":"Huhu! Exception Message", "stackTrace":[ { "fileName":"LoggingEventIOTestBase.java", "lineNumber":306, "className":"de.huxhorn.lilith.data.logging.test.LoggingEventIOTestBase", "methodName":"createStackTraceElements", "version":"Version", "codeLocation":"CodeLocation", "exact":true }, { "fileName":"LoggingEventIOTestBase.java", "lineNumber":299, "className":"de.huxhorn.lilith.data.logging.test.LoggingEventIOTestBase", "methodName":"createThrowableInfo", "version":"Version", "codeLocation":"CodeLocation", "exact":false }, { "fileName":"LoggingEventIOTestBase.java", "lineNumber":253, "className":"de.huxhorn.lilith.data.logging.test.LoggingEventIOTestBase", "methodName":"full", "exact":false }, { "fileName":"NativeMethodAccessorImpl.java", "lineNumber":-2, "className":"sun.reflect.NativeMethodAccessorImpl", "methodName":"invoke0", "exact":false }, { "fileName":"NativeMethodAccessorImpl.java", "lineNumber":39, "className":"sun.reflect.NativeMethodAccessorImpl", "methodName":"invoke", "exact":false }, { "fileName":"DelegatingMethodAccessorImpl.java", "lineNumber":25, "className":"sun.reflect.DelegatingMethodAccessorImpl", "methodName":"invoke", "exact":false }, { "fileName":"Method.java", "lineNumber":597, "className":"java.lang.reflect.Method", "methodName":"invoke", "exact":false }, { "fileName":"FrameworkMethod.java", "lineNumber":44, "className":"org.junit.runners.model.FrameworkMethod$1", "methodName":"runReflectiveCall", "exact":false }, { "fileName":"ReflectiveCallable.java", "lineNumber":15, "className":"org.junit.internal.runners.model.ReflectiveCallable", "methodName":"run", "exact":false }, { "fileName":"FrameworkMethod.java", "lineNumber":41, "className":"org.junit.runners.model.FrameworkMethod", "methodName":"invokeExplosively", "exact":false }, { "fileName":"InvokeMethod.java", "lineNumber":20, "className":"org.junit.internal.runners.statements.InvokeMethod", "methodName":"evaluate", "exact":false }, { "fileName":"RunBefores.java", "lineNumber":28, "className":"org.junit.internal.runners.statements.RunBefores", "methodName":"evaluate", "exact":false }, { "fileName":"RunAfters.java", "lineNumber":31, "className":"org.junit.internal.runners.statements.RunAfters", "methodName":"evaluate", "exact":false }, { "fileName":"BlockJUnit4ClassRunner.java", "lineNumber":76, "className":"org.junit.runners.BlockJUnit4ClassRunner", "methodName":"runChild", "exact":false }, { "fileName":"BlockJUnit4ClassRunner.java", "lineNumber":50, "className":"org.junit.runners.BlockJUnit4ClassRunner", "methodName":"runChild", "exact":false }, { "fileName":"ParentRunner.java", "lineNumber":193, "className":"org.junit.runners.ParentRunner$3", "methodName":"run", "exact":false }, { "fileName":"ParentRunner.java", "lineNumber":52, "className":"org.junit.runners.ParentRunner$1", "methodName":"schedule", "exact":false }, { "fileName":"ParentRunner.java", "lineNumber":191, "className":"org.junit.runners.ParentRunner", "methodName":"runChildren", "exact":false }, { "fileName":"ParentRunner.java", "lineNumber":42, "className":"org.junit.runners.ParentRunner", "methodName":"access$000", "exact":false }, { "fileName":"ParentRunner.java", "lineNumber":184, "className":"org.junit.runners.ParentRunner$2", "methodName":"evaluate", "exact":false }, { "fileName":"ParentRunner.java", "lineNumber":236, "className":"org.junit.runners.ParentRunner", "methodName":"run", "exact":false }, { "fileName":"Suite.java", "lineNumber":128, "className":"org.junit.runners.Suite", "methodName":"runChild", "exact":false }, { "fileName":"Suite.java", "lineNumber":24, "className":"org.junit.runners.Suite", "methodName":"runChild", "exact":false }, { "fileName":"ParentRunner.java", "lineNumber":193, "className":"org.junit.runners.ParentRunner$3", "methodName":"run", "exact":false }, { "fileName":"ParentRunner.java", "lineNumber":52, "className":"org.junit.runners.ParentRunner$1", "methodName":"schedule", "exact":false }, { "fileName":"ParentRunner.java", "lineNumber":191, "className":"org.junit.runners.ParentRunner", "methodName":"runChildren", "exact":false }, { "fileName":"ParentRunner.java", "lineNumber":42, "className":"org.junit.runners.ParentRunner", "methodName":"access$000", "exact":false }, { "fileName":"ParentRunner.java", "lineNumber":184, "className":"org.junit.runners.ParentRunner$2", "methodName":"evaluate", "exact":false }, { "fileName":"ParentRunner.java", "lineNumber":236, "className":"org.junit.runners.ParentRunner", "methodName":"run", "exact":false }, { "fileName":"JUnitCore.java", "lineNumber":157, "className":"org.junit.runner.JUnitCore", "methodName":"run", "exact":false }, { "fileName":"JUnit4IdeaTestRunner.java", "lineNumber":94, "className":"com.intellij.junit4.JUnit4IdeaTestRunner", "methodName":"startRunnerWithArgs", "exact":false }, { "fileName":"JUnitStarter.java", "lineNumber":192, "className":"com.intellij.rt.execution.junit.JUnitStarter", "methodName":"prepareStreamsAndStart", "exact":false }, { "fileName":"JUnitStarter.java", "lineNumber":64, "className":"com.intellij.rt.execution.junit.JUnitStarter", "methodName":"main", "exact":false } ], "omittedElements":0 }, "name":"the.exception.class.Name", "message":"Huhu! Exception Message", "stackTrace":[ { "fileName":"LoggingEventIOTestBase.java", "lineNumber":306, "className":"de.huxhorn.lilith.data.logging.test.LoggingEventIOTestBase", "methodName":"createStackTraceElements", "version":"Version", "codeLocation":"CodeLocation", "exact":true }, { "fileName":"LoggingEventIOTestBase.java", "lineNumber":299, "className":"de.huxhorn.lilith.data.logging.test.LoggingEventIOTestBase", "methodName":"createThrowableInfo", "version":"Version", "codeLocation":"CodeLocation", "exact":false }, { "fileName":"LoggingEventIOTestBase.java", "lineNumber":252, "className":"de.huxhorn.lilith.data.logging.test.LoggingEventIOTestBase", "methodName":"full", "exact":false }, { "fileName":"NativeMethodAccessorImpl.java", "lineNumber":-2, "className":"sun.reflect.NativeMethodAccessorImpl", "methodName":"invoke0", "exact":false }, { "fileName":"NativeMethodAccessorImpl.java", "lineNumber":39, "className":"sun.reflect.NativeMethodAccessorImpl", "methodName":"invoke", "exact":false }, { "fileName":"DelegatingMethodAccessorImpl.java", "lineNumber":25, "className":"sun.reflect.DelegatingMethodAccessorImpl", "methodName":"invoke", "exact":false }, { "fileName":"Method.java", "lineNumber":597, "className":"java.lang.reflect.Method", "methodName":"invoke", "exact":false }, { "fileName":"FrameworkMethod.java", "lineNumber":44, "className":"org.junit.runners.model.FrameworkMethod$1", "methodName":"runReflectiveCall", "exact":false }, { "fileName":"ReflectiveCallable.java", "lineNumber":15, "className":"org.junit.internal.runners.model.ReflectiveCallable", "methodName":"run", "exact":false }, { "fileName":"FrameworkMethod.java", "lineNumber":41, "className":"org.junit.runners.model.FrameworkMethod", "methodName":"invokeExplosively", "exact":false }, { "fileName":"InvokeMethod.java", "lineNumber":20, "className":"org.junit.internal.runners.statements.InvokeMethod", "methodName":"evaluate", "exact":false }, { "fileName":"RunBefores.java", "lineNumber":28, "className":"org.junit.internal.runners.statements.RunBefores", "methodName":"evaluate", "exact":false }, { "fileName":"RunAfters.java", "lineNumber":31, "className":"org.junit.internal.runners.statements.RunAfters", "methodName":"evaluate", "exact":false }, { "fileName":"BlockJUnit4ClassRunner.java", "lineNumber":76, "className":"org.junit.runners.BlockJUnit4ClassRunner", "methodName":"runChild", "exact":false }, { "fileName":"BlockJUnit4ClassRunner.java", "lineNumber":50, "className":"org.junit.runners.BlockJUnit4ClassRunner", "methodName":"runChild", "exact":false }, { "fileName":"ParentRunner.java", "lineNumber":193, "className":"org.junit.runners.ParentRunner$3", "methodName":"run", "exact":false }, { "fileName":"ParentRunner.java", "lineNumber":52, "className":"org.junit.runners.ParentRunner$1", "methodName":"schedule", "exact":false }, { "fileName":"ParentRunner.java", "lineNumber":191, "className":"org.junit.runners.ParentRunner", "methodName":"runChildren", "exact":false }, { "fileName":"ParentRunner.java", "lineNumber":42, "className":"org.junit.runners.ParentRunner", "methodName":"access$000", "exact":false }, { "fileName":"ParentRunner.java", "lineNumber":184, "className":"org.junit.runners.ParentRunner$2", "methodName":"evaluate", "exact":false }, { "fileName":"ParentRunner.java", "lineNumber":236, "className":"org.junit.runners.ParentRunner", "methodName":"run", "exact":false }, { "fileName":"Suite.java", "lineNumber":128, "className":"org.junit.runners.Suite", "methodName":"runChild", "exact":false }, { "fileName":"Suite.java", "lineNumber":24, "className":"org.junit.runners.Suite", "methodName":"runChild", "exact":false }, { "fileName":"ParentRunner.java", "lineNumber":193, "className":"org.junit.runners.ParentRunner$3", "methodName":"run", "exact":false }, { "fileName":"ParentRunner.java", "lineNumber":52, "className":"org.junit.runners.ParentRunner$1", "methodName":"schedule", "exact":false }, { "fileName":"ParentRunner.java", "lineNumber":191, "className":"org.junit.runners.ParentRunner", "methodName":"runChildren", "exact":false }, { "fileName":"ParentRunner.java", "lineNumber":42, "className":"org.junit.runners.ParentRunner", "methodName":"access$000", "exact":false }, { "fileName":"ParentRunner.java", "lineNumber":184, "className":"org.junit.runners.ParentRunner$2", "methodName":"evaluate", "exact":false }, { "fileName":"ParentRunner.java", "lineNumber":236, "className":"org.junit.runners.ParentRunner", "methodName":"run", "exact":false }, { "fileName":"JUnitCore.java", "lineNumber":157, "className":"org.junit.runner.JUnitCore", "methodName":"run", "exact":false }, { "fileName":"JUnit4IdeaTestRunner.java", "lineNumber":94, "className":"com.intellij.junit4.JUnit4IdeaTestRunner", "methodName":"startRunnerWithArgs", "exact":false }, { "fileName":"JUnitStarter.java", "lineNumber":192, "className":"com.intellij.rt.execution.junit.JUnitStarter", "methodName":"prepareStreamsAndStart", "exact":false }, { "fileName":"JUnitStarter.java", "lineNumber":64, "className":"com.intellij.rt.execution.junit.JUnitStarter", "methodName":"main", "exact":false } ], "omittedElements":0 }, "mdc":{ "key3":"value3", "key2":"value2", "key1":"value1" }, "ndc":[ { "messagePattern":"message" }, { "messagePattern":"messagePattern {}", "arguments":[ "foo" ] } ], "callStack":[ { "fileName":"LoggingEventIOTestBase.java", "lineNumber":306, "className":"de.huxhorn.lilith.data.logging.test.LoggingEventIOTestBase", "methodName":"createStackTraceElements", "version":"Version", "codeLocation":"CodeLocation", "exact":true }, { "fileName":"LoggingEventIOTestBase.java", "lineNumber":281, "className":"de.huxhorn.lilith.data.logging.test.LoggingEventIOTestBase", "methodName":"full", "version":"Version", "codeLocation":"CodeLocation", "exact":false }, { "fileName":"NativeMethodAccessorImpl.java", "lineNumber":-2, "className":"sun.reflect.NativeMethodAccessorImpl", "methodName":"invoke0", "exact":false }, { "fileName":"NativeMethodAccessorImpl.java", "lineNumber":39, "className":"sun.reflect.NativeMethodAccessorImpl", "methodName":"invoke", "exact":false }, { "fileName":"DelegatingMethodAccessorImpl.java", "lineNumber":25, "className":"sun.reflect.DelegatingMethodAccessorImpl", "methodName":"invoke", "exact":false }, { "fileName":"Method.java", "lineNumber":597, "className":"java.lang.reflect.Method", "methodName":"invoke", "exact":false }, { "fileName":"FrameworkMethod.java", "lineNumber":44, "className":"org.junit.runners.model.FrameworkMethod$1", "methodName":"runReflectiveCall", "exact":false }, { "fileName":"ReflectiveCallable.java", "lineNumber":15, "className":"org.junit.internal.runners.model.ReflectiveCallable", "methodName":"run", "exact":false }, { "fileName":"FrameworkMethod.java", "lineNumber":41, "className":"org.junit.runners.model.FrameworkMethod", "methodName":"invokeExplosively", "exact":false }, { "fileName":"InvokeMethod.java", "lineNumber":20, "className":"org.junit.internal.runners.statements.InvokeMethod", "methodName":"evaluate", "exact":false }, { "fileName":"RunBefores.java", "lineNumber":28, "className":"org.junit.internal.runners.statements.RunBefores", "methodName":"evaluate", "exact":false }, { "fileName":"RunAfters.java", "lineNumber":31, "className":"org.junit.internal.runners.statements.RunAfters", "methodName":"evaluate", "exact":false }, { "fileName":"BlockJUnit4ClassRunner.java", "lineNumber":76, "className":"org.junit.runners.BlockJUnit4ClassRunner", "methodName":"runChild", "exact":false }, { "fileName":"BlockJUnit4ClassRunner.java", "lineNumber":50, "className":"org.junit.runners.BlockJUnit4ClassRunner", "methodName":"runChild", "exact":false }, { "fileName":"ParentRunner.java", "lineNumber":193, "className":"org.junit.runners.ParentRunner$3", "methodName":"run", "exact":false }, { "fileName":"ParentRunner.java", "lineNumber":52, "className":"org.junit.runners.ParentRunner$1", "methodName":"schedule", "exact":false }, { "fileName":"ParentRunner.java", "lineNumber":191, "className":"org.junit.runners.ParentRunner", "methodName":"runChildren", "exact":false }, { "fileName":"ParentRunner.java", "lineNumber":42, "className":"org.junit.runners.ParentRunner", "methodName":"access$000", "exact":false }, { "fileName":"ParentRunner.java", "lineNumber":184, "className":"org.junit.runners.ParentRunner$2", "methodName":"evaluate", "exact":false }, { "fileName":"ParentRunner.java", "lineNumber":236, "className":"org.junit.runners.ParentRunner", "methodName":"run", "exact":false }, { "fileName":"Suite.java", "lineNumber":128, "className":"org.junit.runners.Suite", "methodName":"runChild", "exact":false }, { "fileName":"Suite.java", "lineNumber":24, "className":"org.junit.runners.Suite", "methodName":"runChild", "exact":false }, { "fileName":"ParentRunner.java", "lineNumber":193, "className":"org.junit.runners.ParentRunner$3", "methodName":"run", "exact":false }, { "fileName":"ParentRunner.java", "lineNumber":52, "className":"org.junit.runners.ParentRunner$1", "methodName":"schedule", "exact":false }, { "fileName":"ParentRunner.java", "lineNumber":191, "className":"org.junit.runners.ParentRunner", "methodName":"runChildren", "exact":false }, { "fileName":"ParentRunner.java", "lineNumber":42, "className":"org.junit.runners.ParentRunner", "methodName":"access$000", "exact":false }, { "fileName":"ParentRunner.java", "lineNumber":184, "className":"org.junit.runners.ParentRunner$2", "methodName":"evaluate", "exact":false }, { "fileName":"ParentRunner.java", "lineNumber":236, "className":"org.junit.runners.ParentRunner", "methodName":"run", "exact":false }, { "fileName":"JUnitCore.java", "lineNumber":157, "className":"org.junit.runner.JUnitCore", "methodName":"run", "exact":false }, { "fileName":"JUnit4IdeaTestRunner.java", "lineNumber":94, "className":"com.intellij.junit4.JUnit4IdeaTestRunner", "methodName":"startRunnerWithArgs", "exact":false }, { "fileName":"JUnitStarter.java", "lineNumber":192, "className":"com.intellij.rt.execution.junit.JUnitStarter", "methodName":"prepareStreamsAndStart", "exact":false }, { "fileName":"JUnitStarter.java", "lineNumber":64, "className":"com.intellij.rt.execution.junit.JUnitStarter", "methodName":"main", "exact":false } ] }