Merge branch 'master' into LOG4J-1181
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/4566a2b9 Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/4566a2b9 Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/4566a2b9 Branch: refs/heads/LOG4J-1181 Commit: 4566a2b9658ea087e1ea7bd447700081a663d3fc Parents: afd417c 9acd705 Author: Mikael Ståldal <mikael.stal...@magine.com> Authored: Fri Jun 3 11:40:17 2016 +0200 Committer: Mikael Ståldal <mikael.stal...@magine.com> Committed: Fri Jun 3 11:40:17 2016 +0200 ---------------------------------------------------------------------- BUILDING.txt | 96 ++--- RELEASE-NOTES.txt | 174 ++++++--- log4j-1.2-api/pom.xml | 2 +- log4j-api/pom.xml | 2 +- .../logging/log4j/CloseableThreadContext.java | 204 ++++++----- .../log4j/message/AbstractMessageFactory.java | 110 +++++- .../log4j/message/FormattedMessageFactory.java | 97 ++++- .../log4j/message/LocalizedMessageFactory.java | 10 +- .../apache/logging/log4j/message/Message.java | 4 +- .../logging/log4j/message/MessageFactory2.java | 1 + .../message/MessageFormatMessageFactory.java | 93 ++++- .../message/ParameterizedMessageFactory.java | 105 +++++- .../ParameterizedNoReferenceMessageFactory.java | 12 +- .../log4j/message/SimpleMessageFactory.java | 102 +++++- .../log4j/message/StringFormattedMessage.java | 6 + .../message/StringFormatterMessageFactory.java | 94 ++++- .../logging/log4j/util/ReflectionUtil.java | 4 + .../org/apache/logging/log4j/util/Unbox.java | 16 +- .../log4j/CloseableThreadContextTest.java | 94 ++++- log4j-bom/.gitignore | 1 + log4j-bom/pom.xml | 8 +- log4j-core/pom.xml | 8 +- .../log4j/core/appender/AsyncAppender.java | 55 ++- .../rolling/action/FileRenameAction.java | 52 +-- .../log4j/core/async/AsyncEventRouter.java | 36 -- .../core/async/AsyncEventRouterFactory.java | 101 ------ ...syncLoggerConfigDefaultExceptionHandler.java | 54 +++ .../core/async/AsyncLoggerConfigDisruptor.java | 13 +- .../AsyncLoggerDefaultExceptionHandler.java | 52 +++ .../log4j/core/async/AsyncLoggerDisruptor.java | 12 +- .../log4j/core/async/AsyncQueueFullPolicy.java | 38 ++ .../core/async/AsyncQueueFullPolicyFactory.java | 101 ++++++ .../core/async/DefaultAsyncEventRouter.java | 37 -- ...efaultAsyncLoggerConfigExceptionHandler.java | 54 --- .../DefaultAsyncLoggerExceptionHandler.java | 52 --- .../core/async/DefaultAsyncQueueFullPolicy.java | 37 ++ .../core/async/DiscardingAsyncEventRouter.java | 72 ---- .../async/DiscardingAsyncQueueFullPolicy.java | 72 ++++ .../logging/log4j/core/async/DisruptorUtil.java | 8 +- .../logging/log4j/core/async/EventRoute.java | 4 + .../config/composite/DefaultMergeStrategy.java | 6 +- .../PropertiesConfigurationBuilder.java | 60 +++- .../log4j/core/filter/AbstractFilterable.java | 14 +- .../log4j/core/filter/CompositeFilter.java | 27 +- .../logging/log4j/core/impl/Log4jLogEvent.java | 25 +- .../log4j/core/impl/MutableLogEvent.java | 32 +- .../log4j/core/jackson/Initializers.java | 20 ++ .../log4j/core/jackson/Log4jJsonModule.java | 10 +- .../core/jackson/Log4jJsonObjectMapper.java | 9 +- .../log4j/core/jackson/Log4jYamlModule.java | 10 +- .../core/jackson/Log4jYamlObjectMapper.java | 9 +- .../log4j/core/jackson/LogEventJsonMixIn.java | 140 ++++++++ .../log4j/core/layout/AbstractCsvLayout.java | 158 ++++----- .../log4j/core/layout/CsvLogEventLayout.java | 35 +- .../log4j/core/layout/CsvParameterLayout.java | 6 +- .../log4j/core/layout/JacksonFactory.java | 12 +- .../logging/log4j/core/layout/JsonLayout.java | 23 +- .../logging/log4j/core/layout/XmlLayout.java | 2 +- .../logging/log4j/core/layout/YamlLayout.java | 3 +- .../server/JsonInputStreamLogEventBridge.java | 6 +- .../util/DefaultShutdownCallbackRegistry.java | 57 +-- .../AsyncAppenderQueueFullPolicyTest.java | 113 ++++++ .../appender/mom/kafka/KafkaAppenderTest.java | 41 ++- .../rolling/RollingAppenderSizeTest.java | 3 +- .../core/async/AsyncEventRouterFactoryTest.java | 114 ------ .../async/AsyncQueueFullPolicyFactoryTest.java | 114 ++++++ .../core/async/DefaultAsyncEventRouterTest.java | 50 --- .../async/DefaultAsyncQueueFullPolicyTest.java | 50 +++ .../async/DiscardingAsyncEventRouterTest.java | 117 ------ .../DiscardingAsyncQueueFullPolicyTest.java | 117 ++++++ .../perftest/GilsDosAndDontsLatencyTesting.txt | 29 -- .../core/async/perftest/ResponseTimeTest.java | 149 +++++--- .../core/async/perftest/SimplePerfTest.bat | 47 --- .../log4j/core/async/perftest/SimplePerfTest.sh | 57 --- .../core/config/CompositeConfigurationTest.java | 8 +- .../core/filter/AbstractFilterableTest.java | 281 +++++++++++++++ .../log4j/core/impl/Log4jLogEventTest.java | 68 ++++ .../log4j/core/impl/MutableLogEventTest.java | 4 +- .../log4j/core/impl/ThrowableProxyTest.java | 4 +- .../log4j/core/jackson/LevelMixInJsonTest.java | 2 +- .../jackson/StackTraceElementMixInTest.java | 3 +- .../core/layout/CsvLogEventLayoutTest.java | 340 +++++++++--------- .../core/layout/CsvParameterLayoutTest.java | 322 ++++++++--------- .../log4j/core/layout/GelfLayoutTest.java | 2 +- .../log4j/core/layout/HtmlLayoutTest.java | 2 +- .../log4j/core/layout/JsonLayoutTest.java | 54 ++- .../log4j/core/layout/PatternLayoutTest.java | 2 +- .../log4j/core/layout/Rfc5424LayoutTest.java | 2 +- .../log4j/core/layout/SerializedLayoutTest.java | 2 +- .../log4j/core/layout/SyslogLayoutTest.java | 2 +- .../log4j/core/layout/XmlLayoutTest.java | 2 +- .../log4j/core/layout/YamlLayoutTest.java | 19 +- .../net/server/AbstractSocketServerTest.java | 12 +- .../log4j/core/pattern/PatternParserTest.java | 2 +- .../logging/log4j/junit/LoggerContextRule.java | 88 +++-- .../log4j/test/appender/BlockingAppender.java | 61 ++++ .../src/test/resources/KafkaAppenderTest.xml | 11 +- .../test/resources/log4j-asynch-queue-full.xml | 38 ++ .../src/test/resources/log4j-comp-logger.json | 8 +- .../src/test/resources/log4j-rolling.properties | 24 +- .../src/test/resources/perf/SimplePerfTest.bat | 47 +++ .../src/test/resources/perf/SimplePerfTest.sh | 57 +++ .../src/test/resources/perf/runResponseTm.sh | 62 ++++ log4j-distribution/pom.xml | 2 +- log4j-flume-ng/pom.xml | 2 +- log4j-iostreams/pom.xml | 2 +- log4j-jcl/pom.xml | 2 +- log4j-jmx-gui/pom.xml | 2 +- log4j-jul/pom.xml | 2 +- log4j-liquibase/pom.xml | 2 +- log4j-nosql/pom.xml | 2 +- log4j-perf/pom.xml | 2 +- ...ractStringLayoutStringEncodingBenchmark.java | 266 ++++++++++++++ .../AsyncAppenderLog4j1LocationBenchmark.java | 71 ++++ .../AsyncAppenderLog4j2LocationBenchmark.java | 75 ++++ .../AsyncAppenderLogbackLocationBenchmark.java | 77 ++++ .../perf/jmh/AsyncLoggersLocationBenchmark.java | 84 +++++ .../jmh/Log4j2AppenderComparisonBenchmark.java | 221 ++++++++++++ .../log4j/perf/jmh/MDCFilterBenchmark.java | 91 +++++ .../log4j/perf/jmh/MarkerFilterBenchmark.java | 105 ++++++ .../perf/jmh/MemoryHandlerJULBenchmark.java | 1 + .../jmh/MemoryHandlerJULLocationBenchmark.java | 74 ++++ .../resources/log4j2-appenderComparison.xml | 68 ++++ .../main/resources/log4j2-markerFilter-perf.xml | 31 ++ .../log4j2-threadContextFilter-perf.xml | 33 ++ .../resources/logback-markerFilter-perf.xml | 33 ++ .../main/resources/logback-mdcFilter-perf.xml | 34 ++ .../perf-WithoutAnyAppender-location.xml | 28 ++ .../main/resources/perf-WithoutAnyAppender.xml | 16 + ...perf-log4j12-async-location-noOpAppender.xml | 31 ++ ...perf-logback-async-location-noOpAppender.xml | 31 ++ .../perf5AsyncApndWithLoc-noOpAppender.xml | 31 ++ log4j-samples/configuration/pom.xml | 2 +- log4j-samples/flume-common/pom.xml | 2 +- log4j-samples/flume-embedded/pom.xml | 2 +- log4j-samples/flume-remote/pom.xml | 2 +- log4j-samples/loggerProperties/pom.xml | 2 +- log4j-samples/pom.xml | 2 +- log4j-slf4j-impl/pom.xml | 2 +- log4j-taglib/pom.xml | 2 +- log4j-to-slf4j/pom.xml | 2 +- log4j-web/pom.xml | 2 +- .../log4j/web/ServletRequestThreadContext.java | 16 + pom.xml | 30 +- src/changes/announcement.vm | 8 +- src/changes/changes.xml | 177 ++++++--- src/site/pdf.xml | 2 +- .../images/AsyncWithLocationThrpt1T-labeled.png | Bin 0 -> 23273 bytes .../images/AsyncWithLocationThrpt1T.png | Bin 0 -> 17751 bytes .../resources/images/IntelliJ-IDEA-logo.png | Bin 0 -> 4299 bytes ...Log4j2AppenderThroughputComparison-linux.png | Bin 0 -> 37494 bytes ...g4j2AppenderThroughputComparison-windows.png | Bin 0 -> 36089 bytes .../images/MarkerFilterCostComparison.png | Bin 0 -> 22737 bytes src/site/resources/images/ParamMsgThrpt1-4T.png | Bin 27522 -> 37465 bytes .../ResponseTimeAsyncClassicVsGcFree-label.png | Bin 29217 -> 31148 bytes ...responsetimeasynclogging16thre...@8keach.png | Bin 0 -> 29429 bytes ...ogging16thre...@8keachlog4j2only-labeled.png | Bin 0 -> 41663 bytes .../responsetimeasynclogging1thr...@128k.png | Bin 0 -> 25701 bytes ...responsetimeasynclogging4thre...@16keach.png | Bin 0 -> 32664 bytes .../images/ResponseTimeSyncClassicVsGcFree.png | Bin 38428 -> 33240 bytes .../SyncThroughputLoggerComparisonLinux.png | Bin 69223 -> 33718 bytes ...SynchronousFileResponseTime2T32k-labeled.png | Bin 0 -> 31907 bytes .../ThreadContextFilterCostComparison.png | Bin 0 -> 17874 bytes .../garbage-free2.6-SyncThroughputLinux.png | Bin 65092 -> 24197 bytes src/site/resources/logo/logo-3d-green-bg-2.png | Bin 0 -> 33619 bytes src/site/resources/logo/logo-3d-green-bg-2.xcf | Bin 0 -> 58311 bytes src/site/resources/logo/logo-3d-green-bg.png | Bin 0 -> 32865 bytes src/site/resources/logo/logo-3d-green-bg.xcf | Bin 0 -> 58333 bytes src/site/resources/logo/logo-big-blue.png | Bin 0 -> 30347 bytes src/site/resources/logo/logo-big-blue.xcf | Bin 0 -> 55133 bytes src/site/resources/logo/logo-blue-web-r2.6.png | Bin 0 -> 38268 bytes src/site/resources/logo/logo-blue-web-r2.6.xcf | Bin 0 -> 64192 bytes src/site/resources/logo/logo-blue-web.png | Bin 0 -> 35254 bytes src/site/resources/logo/logo-blue-web.xcf | Bin 0 -> 63386 bytes .../resources/logo/logo-chocolate-swirl-2.png | Bin 0 -> 31842 bytes .../resources/logo/logo-chocolate-swirl-2.xcf | Bin 0 -> 58254 bytes .../resources/logo/logo-chocolate-swirl.png | Bin 0 -> 34753 bytes .../resources/logo/logo-chocolate-swirl.xcf | Bin 0 -> 64646 bytes src/site/resources/logo/logo-craters-2.png | Bin 0 -> 30522 bytes src/site/resources/logo/logo-craters-2.xcf | Bin 0 -> 58393 bytes src/site/resources/logo/logo-craters.png | Bin 0 -> 32590 bytes src/site/resources/logo/logo-craters.xcf | Bin 0 -> 58716 bytes src/site/resources/logo/logo-electric-blue.png | Bin 0 -> 31853 bytes src/site/resources/logo/logo-electric-blue.xcf | Bin 0 -> 58321 bytes src/site/resources/logo/logo-granite-2.png | Bin 0 -> 33714 bytes src/site/resources/logo/logo-granite-2.xcf | Bin 0 -> 58695 bytes src/site/resources/logo/logo-granite.png | Bin 0 -> 31959 bytes src/site/resources/logo/logo-granite.xcf | Bin 0 -> 58354 bytes src/site/resources/logo/logo-ice.png | Bin 0 -> 33947 bytes src/site/resources/logo/logo-ice.xcf | Bin 0 -> 64835 bytes src/site/resources/logo/logo-java-1.png | Bin 0 -> 33698 bytes src/site/resources/logo/logo-java-1.xcf | Bin 0 -> 58663 bytes src/site/resources/logo/logo-java-2.png | Bin 0 -> 36999 bytes src/site/resources/logo/logo-java-2.xcf | Bin 0 -> 64767 bytes src/site/resources/logo/logo-java-3.png | Bin 0 -> 33016 bytes src/site/resources/logo/logo-java-3.xcf | Bin 0 -> 58335 bytes src/site/resources/logo/logo-leather-2.png | Bin 0 -> 33766 bytes src/site/resources/logo/logo-leather-2.xcf | Bin 0 -> 58757 bytes src/site/resources/logo/logo-leather.png | Bin 0 -> 32668 bytes src/site/resources/logo/logo-leather.xcf | Bin 0 -> 58406 bytes src/site/resources/logo/logo-lightning.png | Bin 0 -> 38593 bytes src/site/resources/logo/logo-lightning.xcf | Bin 0 -> 64749 bytes src/site/resources/logo/logo-marble-1.png | Bin 0 -> 33208 bytes src/site/resources/logo/logo-marble-1.xcf | Bin 0 -> 64833 bytes src/site/resources/logo/logo-paper-1.png | Bin 0 -> 33016 bytes src/site/resources/logo/logo-paper-1.xcf | Bin 0 -> 58337 bytes src/site/resources/logo/logo-paper-2.png | Bin 0 -> 33082 bytes src/site/resources/logo/logo-paper-2.xcf | Bin 0 -> 58324 bytes src/site/resources/logo/logo-parque-1.png | Bin 0 -> 33676 bytes src/site/resources/logo/logo-parque-1.xcf | Bin 0 -> 58334 bytes src/site/resources/logo/logo-parque-2.png | Bin 0 -> 32530 bytes src/site/resources/logo/logo-parque-2.xcf | Bin 0 -> 58370 bytes src/site/resources/logo/logo-parque-3.png | Bin 0 -> 32927 bytes src/site/resources/logo/logo-parque-3.xcf | Bin 0 -> 58348 bytes src/site/resources/logo/logo-pastel-stuff-2.png | Bin 0 -> 33441 bytes src/site/resources/logo/logo-pastel-stuff-2.xcf | Bin 0 -> 58354 bytes src/site/resources/logo/logo-pastel-stuff-3.png | Bin 0 -> 33194 bytes src/site/resources/logo/logo-pastel-stuff-3.xcf | Bin 0 -> 58367 bytes src/site/resources/logo/logo-pastel-stuff.png | Bin 0 -> 37102 bytes src/site/resources/logo/logo-pastel-stuff.xcf | Bin 0 -> 64784 bytes src/site/resources/logo/logo-pine.png | Bin 0 -> 28260 bytes src/site/resources/logo/logo-pine.xcf | Bin 0 -> 61254 bytes src/site/resources/logo/logo-pool-bottom-bg.png | Bin 0 -> 31480 bytes src/site/resources/logo/logo-pool-bottom-bg.xcf | Bin 0 -> 58386 bytes src/site/resources/logo/logo-pool-bottom.png | Bin 0 -> 33961 bytes src/site/resources/logo/logo-pool-bottom.xcf | Bin 0 -> 64819 bytes src/site/resources/logo/logo-qbert.png | Bin 0 -> 34606 bytes src/site/resources/logo/logo-qbert.xcf | Bin 0 -> 64777 bytes src/site/resources/logo/logo-rain.png | Bin 0 -> 34527 bytes src/site/resources/logo/logo-rain.xcf | Bin 0 -> 64686 bytes src/site/resources/logo/logo-red-cubes.png | Bin 0 -> 32485 bytes src/site/resources/logo/logo-red-cubes.xcf | Bin 0 -> 58334 bytes src/site/resources/logo/logo-rocks.png | Bin 0 -> 39238 bytes src/site/resources/logo/logo-rocks.xcf | Bin 0 -> 64798 bytes src/site/resources/logo/logo-sky.png | Bin 0 -> 33307 bytes src/site/resources/logo/logo-sky.xcf | Bin 0 -> 64206 bytes src/site/resources/logo/logo-starfield.png | Bin 0 -> 30603 bytes src/site/resources/logo/logo-starfield.xcf | Bin 0 -> 56479 bytes src/site/resources/logo/logo-stone.png | Bin 0 -> 39696 bytes src/site/resources/logo/logo-stone.xcf | Bin 0 -> 64755 bytes src/site/resources/logo/logo-tree-bark.png | Bin 0 -> 40313 bytes src/site/resources/logo/logo-tree-bark.xcf | Bin 0 -> 64751 bytes src/site/resources/logo/logo-walnut.png | Bin 0 -> 35644 bytes src/site/resources/logo/logo-walnut.xcf | Bin 0 -> 64852 bytes src/site/resources/logo/logo-wood-1.png | Bin 0 -> 34322 bytes src/site/resources/logo/logo-wood-1.xcf | Bin 0 -> 64867 bytes src/site/resources/logo/logo-wood-2.png | Bin 0 -> 33795 bytes src/site/resources/logo/logo-wood-2.xcf | Bin 0 -> 64846 bytes src/site/resources/logo/logo-wood.png | Bin 0 -> 37241 bytes src/site/resources/logo/logo-wood.xcf | Bin 0 -> 64930 bytes src/site/site.xml | 13 +- src/site/xdoc/faq.xml | 58 ++- src/site/xdoc/index.xml | 13 +- src/site/xdoc/manual/appenders.xml | 28 +- src/site/xdoc/manual/async.xml | 355 +++++-------------- src/site/xdoc/manual/configuration.xml.vm | 136 ++++--- src/site/xdoc/manual/garbagefree.xml | 97 ++--- src/site/xdoc/manual/index.xml | 2 +- src/site/xdoc/manual/layouts.xml.vm | 160 ++++++--- src/site/xdoc/manual/thread-context.xml | 11 +- src/site/xdoc/performance.xml | 252 ++++++++----- src/site/xdoc/runtime-dependencies.xml | 3 +- src/site/xdoc/thanks.xml | 39 +- 263 files changed, 5708 insertions(+), 2418 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/4566a2b9/pom.xml ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/4566a2b9/src/site/site.xml ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/4566a2b9/src/site/xdoc/runtime-dependencies.xml ----------------------------------------------------------------------