This is an automated email from the ASF dual-hosted git repository. vy pushed a change to branch release-2.x in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git.
from 736bcb5 Add new articles new c11ed6f #335 Initial import of JsonTemplateLayout from LogstashLayout. new 4513817 Add GitHub Actions CI support to release-2.x branch. The 2 revisions listed above as "new" are entirely new to this repository and will be described in separate emails. The revisions listed as "add" were already present in the repository and have only been added to this reference. Summary of changes: .../workflows}/maven-toolchains.xml | 0 .github/workflows/maven.yml | 87 + .../org/apache/logging/log4j/util/Strings.java | 36 +- .../org/apache/logging/log4j/util/StringsTest.java | 19 + log4j-bom/pom.xml | 6 + .../apache/logging/log4j/core/util/Throwables.java | 22 +- .../logging/log4j/core/GcFreeLoggingTestUtil.java | 70 +- .../logging/log4j/core/util/ThrowablesTest.java | 37 +- log4j-jpl/pom.xml | 12 - log4j-layout-json-template/pom.xml | 533 ++++++ log4j-layout-json-template/revapi.json | 16 + .../layout/json/template/JsonTemplateLayout.java | 688 +++++++ .../json/template/JsonTemplateLayoutDefaults.java | 213 +++ .../json/template/resolver/EndOfBatchResolver.java | 44 + .../resolver/EndOfBatchResolverFactory.java | 41 + .../json/template/resolver/EventResolver.java | 21 + .../template/resolver/EventResolverContext.java | 228 +++ .../template/resolver/EventResolverFactories.java | 65 + .../template/resolver/EventResolverFactory.java | 21 + .../resolver/ExceptionInternalResolverFactory.java | 68 + .../json/template/resolver/ExceptionResolver.java | 122 ++ .../resolver/ExceptionResolverFactory.java | 43 + .../resolver/ExceptionRootCauseResolver.java | 127 ++ .../ExceptionRootCauseResolverFactory.java | 41 + .../json/template/resolver/LevelResolver.java | 176 ++ .../template/resolver/LevelResolverFactory.java | 41 + .../json/template/resolver/LoggerResolver.java | 92 + .../template/resolver/LoggerResolverFactory.java | 41 + .../json/template/resolver/MainMapResolver.java | 90 + .../template/resolver/MainMapResolverFactory.java | 41 + .../layout/json/template/resolver/MapResolver.java | 91 + .../json/template/resolver/MapResolverFactory.java | 41 + .../json/template/resolver/MarkerResolver.java | 86 + .../template/resolver/MarkerResolverFactory.java | 41 + .../json/template/resolver/MessageResolver.java | 223 +++ .../template/resolver/MessageResolverFactory.java | 41 + .../json/template/resolver/PatternResolver.java | 87 + .../template/resolver/PatternResolverFactory.java | 41 + .../json/template/resolver/SourceResolver.java | 148 ++ .../template/resolver/SourceResolverFactory.java | 41 + .../resolver/StackTraceElementObjectResolver.java | 92 + .../StackTraceElementObjectResolverContext.java | 93 + .../StackTraceElementObjectResolverFactories.java | 39 + .../StackTraceElementObjectResolverFactory.java | 43 + .../resolver/StackTraceObjectResolver.java | 54 + .../json/template/resolver/StackTraceResolver.java | 19 + .../resolver/StackTraceStringResolver.java | 51 + .../json/template/resolver/TemplateResolver.java | 42 + .../template/resolver/TemplateResolverConfig.java | 29 + .../template/resolver/TemplateResolverContext.java | 34 + .../template/resolver/TemplateResolverFactory.java | 25 + .../json/template/resolver/TemplateResolvers.java | 414 +++++ .../resolver/ThreadContextDataResolver.java | 357 ++++ .../resolver/ThreadContextDataResolverFactory.java | 43 + .../resolver/ThreadContextStackResolver.java | 107 ++ .../ThreadContextStackResolverFactory.java | 43 + .../json/template/resolver/ThreadResolver.java | 90 + .../template/resolver/ThreadResolverFactory.java | 41 + .../json/template/resolver/TimestampResolver.java | 505 ++++++ .../resolver/TimestampResolverFactory.java | 41 + .../layout/json/template/util/DummyRecycler.java | 37 + .../json/template/util/DummyRecyclerFactory.java | 39 + .../layout/json/template/util/JsonReader.java | 447 +++++ .../layout/json/template/util/JsonWriter.java | 889 +++++++++ .../layout/json/template/util/MapAccessor.java | 139 ++ .../json/template/util/QueueingRecycler.java | 61 + .../template/util/QueueingRecyclerFactory.java | 40 + .../log4j/layout/json/template/util/Recycler.java | 25 + .../json/template/util/RecyclerFactories.java | 205 +++ .../layout/json/template/util/RecyclerFactory.java | 31 + .../json/template/util/StringParameterParser.java | 292 +++ .../json/template/util/ThreadLocalRecycler.java | 45 + .../template/util/ThreadLocalRecyclerFactory.java | 40 + .../util/TruncatingBufferedPrintWriter.java | 60 + .../template/util/TruncatingBufferedWriter.java | 208 +++ .../log4j/layout/json/template/util/Uris.java | 138 ++ .../src/main/resources/EcsLayout.json | 46 + .../src/main/resources/GelfLayout.json | 41 + .../src/main/resources/JsonLayout.json | 83 + .../main/resources/LogstashJsonEventLayoutV1.json | 58 + .../main/resources/StackTraceElementLayout.json | 18 + .../src/site/manual/index.md | 32 + log4j-layout-json-template/src/site/site.xml | 55 + .../template/BlackHoleByteBufferDestination.java | 50 + .../log4j/layout/json/template/EcsLayoutTest.java | 90 + .../log4j/layout/json/template/GelfLayoutTest.java | 109 ++ .../log4j/layout/json/template/JacksonFixture.java | 29 + .../log4j/layout/json/template/JsonLayoutTest.java | 71 + .../JsonTemplateLayoutConcurrentEncodeTest.java | 192 ++ .../template/JsonTemplateLayoutGcFreeTest.java | 40 + .../JsonTemplateLayoutNullEventDelimiterTest.java | 127 ++ .../json/template/JsonTemplateLayoutTest.java | 1889 ++++++++++++++++++++ .../json/template/LayoutComparisonHelpers.java | 19 + .../layout/json/template/LogEventFixture.java | 151 ++ .../log4j/layout/json/template/LogstashIT.java | 503 ++++++ .../layout/json/template/util/JsonReaderTest.java | 380 ++++ .../layout/json/template/util/JsonWriterTest.java | 729 ++++++++ .../json/template/util/RecyclerFactoriesTest.java | 120 ++ .../template/util/StringParameterParserTest.java | 393 ++++ .../util/TruncatingBufferedWriterTest.java | 228 +++ .../log4j/layout/json/template/util/UrisTest.java | 65 + .../resources/gcFreeJsonTemplateLayoutLogging.xml | 39 + ...nullEventDelimitedJsonTemplateLayoutLogging.xml | 39 + .../src/test/resources/testJsonTemplateLayout.json | 68 + log4j-perf/pom.xml | 19 +- .../json/template/JsonTemplateLayoutBenchmark.java | 185 ++ .../JsonTemplateLayoutBenchmarkReport.java | 359 ++++ .../template/JsonTemplateLayoutBenchmarkState.java | 212 +++ .../log4j/perf/jmh/ThreadLocalVsPoolBenchmark.java | 252 ++- .../src/main/config-repo/log4j2.xml | 47 +- pom.xml | 39 +- src/site/asciidoc/manual/json-template-layout.adoc | 1198 +++++++++++++ src/site/markdown/manual/cloud.md | 231 ++- src/site/site.xml | 1 + src/site/xdoc/manual/garbagefree.xml | 6 + src/site/xdoc/manual/json-template-layout.xml.vm | 1526 ++++++++++++++++ src/site/xdoc/manual/layouts.xml.vm | 101 ++ 117 files changed, 18326 insertions(+), 253 deletions(-) copy {workflows => .github/workflows}/maven-toolchains.xml (100%) create mode 100644 .github/workflows/maven.yml create mode 100644 log4j-layout-json-template/pom.xml create mode 100644 log4j-layout-json-template/revapi.json create mode 100644 log4j-layout-json-template/src/main/java/org/apache/logging/log4j/layout/json/template/JsonTemplateLayout.java create mode 100644 log4j-layout-json-template/src/main/java/org/apache/logging/log4j/layout/json/template/JsonTemplateLayoutDefaults.java create mode 100644 log4j-layout-json-template/src/main/java/org/apache/logging/log4j/layout/json/template/resolver/EndOfBatchResolver.java create mode 100644 log4j-layout-json-template/src/main/java/org/apache/logging/log4j/layout/json/template/resolver/EndOfBatchResolverFactory.java create mode 100644 log4j-layout-json-template/src/main/java/org/apache/logging/log4j/layout/json/template/resolver/EventResolver.java create mode 100644 log4j-layout-json-template/src/main/java/org/apache/logging/log4j/layout/json/template/resolver/EventResolverContext.java create mode 100644 log4j-layout-json-template/src/main/java/org/apache/logging/log4j/layout/json/template/resolver/EventResolverFactories.java create mode 100644 log4j-layout-json-template/src/main/java/org/apache/logging/log4j/layout/json/template/resolver/EventResolverFactory.java create mode 100644 log4j-layout-json-template/src/main/java/org/apache/logging/log4j/layout/json/template/resolver/ExceptionInternalResolverFactory.java create mode 100644 log4j-layout-json-template/src/main/java/org/apache/logging/log4j/layout/json/template/resolver/ExceptionResolver.java create mode 100644 log4j-layout-json-template/src/main/java/org/apache/logging/log4j/layout/json/template/resolver/ExceptionResolverFactory.java create mode 100644 log4j-layout-json-template/src/main/java/org/apache/logging/log4j/layout/json/template/resolver/ExceptionRootCauseResolver.java create mode 100644 log4j-layout-json-template/src/main/java/org/apache/logging/log4j/layout/json/template/resolver/ExceptionRootCauseResolverFactory.java create mode 100644 log4j-layout-json-template/src/main/java/org/apache/logging/log4j/layout/json/template/resolver/LevelResolver.java create mode 100644 log4j-layout-json-template/src/main/java/org/apache/logging/log4j/layout/json/template/resolver/LevelResolverFactory.java create mode 100644 log4j-layout-json-template/src/main/java/org/apache/logging/log4j/layout/json/template/resolver/LoggerResolver.java create mode 100644 log4j-layout-json-template/src/main/java/org/apache/logging/log4j/layout/json/template/resolver/LoggerResolverFactory.java create mode 100644 log4j-layout-json-template/src/main/java/org/apache/logging/log4j/layout/json/template/resolver/MainMapResolver.java create mode 100644 log4j-layout-json-template/src/main/java/org/apache/logging/log4j/layout/json/template/resolver/MainMapResolverFactory.java create mode 100644 log4j-layout-json-template/src/main/java/org/apache/logging/log4j/layout/json/template/resolver/MapResolver.java create mode 100644 log4j-layout-json-template/src/main/java/org/apache/logging/log4j/layout/json/template/resolver/MapResolverFactory.java create mode 100644 log4j-layout-json-template/src/main/java/org/apache/logging/log4j/layout/json/template/resolver/MarkerResolver.java create mode 100644 log4j-layout-json-template/src/main/java/org/apache/logging/log4j/layout/json/template/resolver/MarkerResolverFactory.java create mode 100644 log4j-layout-json-template/src/main/java/org/apache/logging/log4j/layout/json/template/resolver/MessageResolver.java create mode 100644 log4j-layout-json-template/src/main/java/org/apache/logging/log4j/layout/json/template/resolver/MessageResolverFactory.java create mode 100644 log4j-layout-json-template/src/main/java/org/apache/logging/log4j/layout/json/template/resolver/PatternResolver.java create mode 100644 log4j-layout-json-template/src/main/java/org/apache/logging/log4j/layout/json/template/resolver/PatternResolverFactory.java create mode 100644 log4j-layout-json-template/src/main/java/org/apache/logging/log4j/layout/json/template/resolver/SourceResolver.java create mode 100644 log4j-layout-json-template/src/main/java/org/apache/logging/log4j/layout/json/template/resolver/SourceResolverFactory.java create mode 100644 log4j-layout-json-template/src/main/java/org/apache/logging/log4j/layout/json/template/resolver/StackTraceElementObjectResolver.java create mode 100644 log4j-layout-json-template/src/main/java/org/apache/logging/log4j/layout/json/template/resolver/StackTraceElementObjectResolverContext.java create mode 100644 log4j-layout-json-template/src/main/java/org/apache/logging/log4j/layout/json/template/resolver/StackTraceElementObjectResolverFactories.java create mode 100644 log4j-layout-json-template/src/main/java/org/apache/logging/log4j/layout/json/template/resolver/StackTraceElementObjectResolverFactory.java create mode 100644 log4j-layout-json-template/src/main/java/org/apache/logging/log4j/layout/json/template/resolver/StackTraceObjectResolver.java create mode 100644 log4j-layout-json-template/src/main/java/org/apache/logging/log4j/layout/json/template/resolver/StackTraceResolver.java create mode 100644 log4j-layout-json-template/src/main/java/org/apache/logging/log4j/layout/json/template/resolver/StackTraceStringResolver.java create mode 100644 log4j-layout-json-template/src/main/java/org/apache/logging/log4j/layout/json/template/resolver/TemplateResolver.java create mode 100644 log4j-layout-json-template/src/main/java/org/apache/logging/log4j/layout/json/template/resolver/TemplateResolverConfig.java create mode 100644 log4j-layout-json-template/src/main/java/org/apache/logging/log4j/layout/json/template/resolver/TemplateResolverContext.java create mode 100644 log4j-layout-json-template/src/main/java/org/apache/logging/log4j/layout/json/template/resolver/TemplateResolverFactory.java create mode 100644 log4j-layout-json-template/src/main/java/org/apache/logging/log4j/layout/json/template/resolver/TemplateResolvers.java create mode 100644 log4j-layout-json-template/src/main/java/org/apache/logging/log4j/layout/json/template/resolver/ThreadContextDataResolver.java create mode 100644 log4j-layout-json-template/src/main/java/org/apache/logging/log4j/layout/json/template/resolver/ThreadContextDataResolverFactory.java create mode 100644 log4j-layout-json-template/src/main/java/org/apache/logging/log4j/layout/json/template/resolver/ThreadContextStackResolver.java create mode 100644 log4j-layout-json-template/src/main/java/org/apache/logging/log4j/layout/json/template/resolver/ThreadContextStackResolverFactory.java create mode 100644 log4j-layout-json-template/src/main/java/org/apache/logging/log4j/layout/json/template/resolver/ThreadResolver.java create mode 100644 log4j-layout-json-template/src/main/java/org/apache/logging/log4j/layout/json/template/resolver/ThreadResolverFactory.java create mode 100644 log4j-layout-json-template/src/main/java/org/apache/logging/log4j/layout/json/template/resolver/TimestampResolver.java create mode 100644 log4j-layout-json-template/src/main/java/org/apache/logging/log4j/layout/json/template/resolver/TimestampResolverFactory.java create mode 100644 log4j-layout-json-template/src/main/java/org/apache/logging/log4j/layout/json/template/util/DummyRecycler.java create mode 100644 log4j-layout-json-template/src/main/java/org/apache/logging/log4j/layout/json/template/util/DummyRecyclerFactory.java create mode 100644 log4j-layout-json-template/src/main/java/org/apache/logging/log4j/layout/json/template/util/JsonReader.java create mode 100644 log4j-layout-json-template/src/main/java/org/apache/logging/log4j/layout/json/template/util/JsonWriter.java create mode 100644 log4j-layout-json-template/src/main/java/org/apache/logging/log4j/layout/json/template/util/MapAccessor.java create mode 100644 log4j-layout-json-template/src/main/java/org/apache/logging/log4j/layout/json/template/util/QueueingRecycler.java create mode 100644 log4j-layout-json-template/src/main/java/org/apache/logging/log4j/layout/json/template/util/QueueingRecyclerFactory.java create mode 100644 log4j-layout-json-template/src/main/java/org/apache/logging/log4j/layout/json/template/util/Recycler.java create mode 100644 log4j-layout-json-template/src/main/java/org/apache/logging/log4j/layout/json/template/util/RecyclerFactories.java create mode 100644 log4j-layout-json-template/src/main/java/org/apache/logging/log4j/layout/json/template/util/RecyclerFactory.java create mode 100644 log4j-layout-json-template/src/main/java/org/apache/logging/log4j/layout/json/template/util/StringParameterParser.java create mode 100644 log4j-layout-json-template/src/main/java/org/apache/logging/log4j/layout/json/template/util/ThreadLocalRecycler.java create mode 100644 log4j-layout-json-template/src/main/java/org/apache/logging/log4j/layout/json/template/util/ThreadLocalRecyclerFactory.java create mode 100644 log4j-layout-json-template/src/main/java/org/apache/logging/log4j/layout/json/template/util/TruncatingBufferedPrintWriter.java create mode 100644 log4j-layout-json-template/src/main/java/org/apache/logging/log4j/layout/json/template/util/TruncatingBufferedWriter.java create mode 100644 log4j-layout-json-template/src/main/java/org/apache/logging/log4j/layout/json/template/util/Uris.java create mode 100644 log4j-layout-json-template/src/main/resources/EcsLayout.json create mode 100644 log4j-layout-json-template/src/main/resources/GelfLayout.json create mode 100644 log4j-layout-json-template/src/main/resources/JsonLayout.json create mode 100644 log4j-layout-json-template/src/main/resources/LogstashJsonEventLayoutV1.json create mode 100644 log4j-layout-json-template/src/main/resources/StackTraceElementLayout.json create mode 100644 log4j-layout-json-template/src/site/manual/index.md create mode 100644 log4j-layout-json-template/src/site/site.xml create mode 100644 log4j-layout-json-template/src/test/java/org/apache/logging/log4j/layout/json/template/BlackHoleByteBufferDestination.java create mode 100644 log4j-layout-json-template/src/test/java/org/apache/logging/log4j/layout/json/template/EcsLayoutTest.java create mode 100644 log4j-layout-json-template/src/test/java/org/apache/logging/log4j/layout/json/template/GelfLayoutTest.java create mode 100644 log4j-layout-json-template/src/test/java/org/apache/logging/log4j/layout/json/template/JacksonFixture.java create mode 100644 log4j-layout-json-template/src/test/java/org/apache/logging/log4j/layout/json/template/JsonLayoutTest.java create mode 100644 log4j-layout-json-template/src/test/java/org/apache/logging/log4j/layout/json/template/JsonTemplateLayoutConcurrentEncodeTest.java create mode 100644 log4j-layout-json-template/src/test/java/org/apache/logging/log4j/layout/json/template/JsonTemplateLayoutGcFreeTest.java create mode 100644 log4j-layout-json-template/src/test/java/org/apache/logging/log4j/layout/json/template/JsonTemplateLayoutNullEventDelimiterTest.java create mode 100644 log4j-layout-json-template/src/test/java/org/apache/logging/log4j/layout/json/template/JsonTemplateLayoutTest.java create mode 100644 log4j-layout-json-template/src/test/java/org/apache/logging/log4j/layout/json/template/LayoutComparisonHelpers.java create mode 100644 log4j-layout-json-template/src/test/java/org/apache/logging/log4j/layout/json/template/LogEventFixture.java create mode 100644 log4j-layout-json-template/src/test/java/org/apache/logging/log4j/layout/json/template/LogstashIT.java create mode 100644 log4j-layout-json-template/src/test/java/org/apache/logging/log4j/layout/json/template/util/JsonReaderTest.java create mode 100644 log4j-layout-json-template/src/test/java/org/apache/logging/log4j/layout/json/template/util/JsonWriterTest.java create mode 100644 log4j-layout-json-template/src/test/java/org/apache/logging/log4j/layout/json/template/util/RecyclerFactoriesTest.java create mode 100644 log4j-layout-json-template/src/test/java/org/apache/logging/log4j/layout/json/template/util/StringParameterParserTest.java create mode 100644 log4j-layout-json-template/src/test/java/org/apache/logging/log4j/layout/json/template/util/TruncatingBufferedWriterTest.java create mode 100644 log4j-layout-json-template/src/test/java/org/apache/logging/log4j/layout/json/template/util/UrisTest.java create mode 100644 log4j-layout-json-template/src/test/resources/gcFreeJsonTemplateLayoutLogging.xml create mode 100644 log4j-layout-json-template/src/test/resources/nullEventDelimitedJsonTemplateLayoutLogging.xml create mode 100644 log4j-layout-json-template/src/test/resources/testJsonTemplateLayout.json create mode 100644 log4j-perf/src/main/java/org/apache/logging/log4j/layout/json/template/JsonTemplateLayoutBenchmark.java create mode 100644 log4j-perf/src/main/java/org/apache/logging/log4j/layout/json/template/JsonTemplateLayoutBenchmarkReport.java create mode 100644 log4j-perf/src/main/java/org/apache/logging/log4j/layout/json/template/JsonTemplateLayoutBenchmarkState.java create mode 100644 src/site/asciidoc/manual/json-template-layout.adoc create mode 100644 src/site/xdoc/manual/json-template-layout.xml.vm