Merge branch 'master' into gelf-layout-efficiency
Conflicts:
log4j-core/src/main/java/org/apache/logging/log4j/core/layout/GelfLayout.java
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo
Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/8dcc67b6
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/8dcc67b6
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/8dcc67b6
Branch: refs/heads/gelf-layout-efficiency
Commit: 8dcc67b60f6cae8afc5fdb7f16dbbc1e6e9ecbb0
Parents: 482abdd 0db58f1
Author: Mikael Ståldal <[email protected]>
Authored: Wed May 11 17:54:33 2016 +0200
Committer: Mikael Ståldal <[email protected]>
Committed: Wed May 11 17:54:33 2016 +0200
----------------------------------------------------------------------
README.md | 23 +
.../main/java/org/apache/log4j/Category.java | 34 +-
.../org/apache/log4j/spi/LoggerFactory.java | 9 +-
.../logging/log4j/CloseableThreadContext.java | 172 +
.../java/org/apache/logging/log4j/Logger.java | 3121 +++++++++++++++---
.../org/apache/logging/log4j/MarkerManager.java | 11 +-
.../apache/logging/log4j/message/Message.java | 13 +
.../logging/log4j/message/MessageFactory2.java | 179 +
.../logging/log4j/message/ObjectMessage.java | 4 +-
.../log4j/message/ParameterFormatter.java | 108 +-
.../log4j/message/ParameterizedMessage.java | 15 +-
.../ParameterizedNoReferenceMessageFactory.java | 39 +-
.../logging/log4j/message/ReusableMessage.java | 43 +-
.../log4j/message/ReusableMessageFactory.java | 66 +-
.../log4j/message/ReusableObjectMessage.java | 28 +-
.../message/ReusableParameterizedMessage.java | 58 +-
.../log4j/message/ReusableSimpleMessage.java | 59 +-
.../logging/log4j/message/SimpleMessage.java | 58 +-
.../logging/log4j/simple/SimpleLogger.java | 73 +
.../log4j/simple/SimpleLoggerContext.java | 24 +-
.../logging/log4j/spi/AbstractLogger.java | 1156 ++++++-
.../logging/log4j/spi/ExtendedLogger.java | 392 ++-
.../log4j/spi/ExtendedLoggerWrapper.java | 96 +-
.../logging/log4j/spi/LoggerContextKey.java | 4 +-
.../logging/log4j/spi/LoggerRegistry.java | 182 +
.../log4j/spi/MessageFactory2Adapter.java | 118 +
.../apache/logging/log4j/spi/Terminable.java | 16 +-
.../logging/log4j/status/StatusLogger.java | 93 +-
.../apache/logging/log4j/util/LoaderUtil.java | 8 +-
.../log4j/util/PerformanceSensitive.java | 6 +
.../logging/log4j/util/ReflectionUtil.java | 2 +-
.../org/apache/logging/log4j/util/Strings.java | 12 +
.../org/apache/logging/log4j/util/Unbox.java | 176 +
.../logging/log4j/AbstractLoggerTest.java | 379 ++-
.../log4j/CloseableThreadContextTest.java | 120 +
.../apache/logging/log4j/LambdaLoggerTest.java | 149 +-
.../org/apache/logging/log4j/LoggerTest.java | 49 +-
.../org/apache/logging/log4j/TestLogger.java | 73 +
.../log4j/message/ParameterFormatterTest.java | 2 -
.../log4j/message/ParameterizedMessageTest.java | 8 +
.../ReusableParameterizedMessageTest.java | 71 +-
.../message/ReusableSimpleMessageTest.java | 8 +-
.../apache/logging/log4j/util/UnboxTest.java | 157 +
log4j-core/pom.xml | 19 +-
.../org/apache/logging/log4j/core/Filter.java | 171 +
.../org/apache/logging/log4j/core/Logger.java | 241 +-
.../logging/log4j/core/LoggerContext.java | 27 +-
.../appender/AbstractOutputStreamAppender.java | 40 +-
.../log4j/core/appender/AsyncAppender.java | 167 +-
.../log4j/core/appender/ConsoleAppender.java | 12 +-
.../core/appender/CountingNoOpAppender.java | 56 +
.../core/appender/DefaultErrorHandler.java | 4 +
.../log4j/core/appender/FileAppender.java | 6 +-
.../log4j/core/appender/FileManager.java | 39 +-
.../core/appender/MemoryMappedFileAppender.java | 10 +-
.../core/appender/MemoryMappedFileManager.java | 35 +-
.../core/appender/OutputStreamManager.java | 155 +-
.../core/appender/RandomAccessFileAppender.java | 17 +-
.../core/appender/RandomAccessFileManager.java | 60 +-
.../core/appender/RollingFileAppender.java | 2 +-
.../RollingRandomAccessFileAppender.java | 19 +-
.../log4j/core/appender/SocketAppender.java | 20 +-
.../rolling/DefaultRolloverStrategy.java | 4 +-
.../core/appender/rolling/PatternProcessor.java | 582 ++--
.../appender/rolling/RollingFileManager.java | 62 +-
.../rolling/RollingRandomAccessFileManager.java | 63 +-
.../appender/rolling/action/DeleteAction.java | 432 ++-
.../log4j/core/async/AsyncEventRouter.java | 36 -
.../core/async/AsyncEventRouterFactory.java | 103 -
.../logging/log4j/core/async/AsyncLogger.java | 47 +-
.../log4j/core/async/AsyncLoggerConfig.java | 1 +
...syncLoggerConfigDefaultExceptionHandler.java | 54 +
.../core/async/AsyncLoggerConfigDelegate.java | 10 +
.../core/async/AsyncLoggerConfigDisruptor.java | 89 +-
.../AsyncLoggerDefaultExceptionHandler.java | 52 +
.../log4j/core/async/AsyncLoggerDisruptor.java | 23 +-
.../log4j/core/async/AsyncQueueFullPolicy.java | 38 +
.../core/async/AsyncQueueFullPolicyFactory.java | 101 +
.../core/async/DefaultAsyncEventRouter.java | 37 -
.../core/async/DefaultAsyncQueueFullPolicy.java | 37 +
.../core/async/DiscardingAsyncEventRouter.java | 72 -
.../async/DiscardingAsyncQueueFullPolicy.java | 72 +
.../logging/log4j/core/async/DisruptorUtil.java | 280 +-
.../logging/log4j/core/async/EventRoute.java | 13 +-
.../log4j/core/async/RingBufferLogEvent.java | 279 +-
.../async/RingBufferLogEventTranslator.java | 9 +-
.../core/async/ThreadNameCachingStrategy.java | 4 +-
.../core/config/AbstractConfiguration.java | 26 +-
.../log4j/core/config/ConfigurationFactory.java | 66 +-
.../log4j/core/config/ConfigurationSource.java | 51 +-
.../core/config/ConfiguratonFileWatcher.java | 4 +
.../logging/log4j/core/config/Configurator.java | 46 +-
.../logging/log4j/core/config/LoggerConfig.java | 5 +-
.../builder/api/ConfigurationBuilder.java | 89 +
.../config/builder/impl/BuiltConfiguration.java | 6 +-
.../impl/DefaultConfigurationBuilder.java | 70 +-
.../impl/DefaultLoggerComponentBuilder.java | 29 +
.../impl/DefaultRootLoggerComponentBuilder.java | 27 +
.../composite/CompositeConfiguration.java | 183 +
.../config/composite/DefaultMergeStrategy.java | 266 ++
.../core/config/composite/MergeStrategy.java | 41 +
.../core/config/composite/package-info.java | 21 +
.../properties/PropertiesConfiguration.java | 2 +-
.../PropertiesConfigurationBuilder.java | 47 +-
.../PropertiesConfigurationFactory.java | 5 +-
.../core/config/status/StatusConfiguration.java | 1 +
.../log4j/core/filter/AbstractFilter.java | 204 ++
.../log4j/core/filter/CompositeFilter.java | 328 +-
.../log4j/core/impl/Log4jContextFactory.java | 43 +-
.../logging/log4j/core/impl/Log4jLogEvent.java | 76 +-
.../log4j/core/impl/MutableLogEvent.java | 459 +++
.../core/impl/ReusableLogEventFactory.java | 88 +
.../log4j/core/jackson/Initializers.java | 2 +-
.../core/jackson/Log4jJsonObjectMapper.java | 2 +-
.../core/jackson/Log4jXmlObjectMapper.java | 2 +-
.../log4j/core/jackson/Log4jYamlModule.java | 48 +
.../core/jackson/Log4jYamlObjectMapper.java | 41 +
.../log4j/core/layout/AbstractCsvLayout.java | 158 +-
.../core/layout/AbstractJacksonLayout.java | 17 +-
.../log4j/core/layout/AbstractLayout.java | 23 +
.../log4j/core/layout/AbstractStringLayout.java | 48 +-
.../core/layout/ByteBufferDestination.java | 8 +-
.../log4j/core/layout/CsvLogEventLayout.java | 213 +-
.../log4j/core/layout/CsvParameterLayout.java | 207 +-
.../logging/log4j/core/layout/GelfLayout.java | 148 +-
.../log4j/core/layout/JacksonFactory.java | 77 +-
.../logging/log4j/core/layout/JsonLayout.java | 4 +-
.../layout/LockingStringBuilderEncoder.java | 69 +
.../log4j/core/layout/PatternLayout.java | 7 +-
.../log4j/core/layout/Rfc5424Layout.java | 5 +-
.../log4j/core/layout/StringBuilderEncoder.java | 128 +
.../log4j/core/layout/TextEncoderHelper.java | 136 +-
.../logging/log4j/core/layout/YamlLayout.java | 824 +++++
.../logging/log4j/core/net/SmtpManager.java | 5 +-
.../log4j/core/net/server/TcpSocketServer.java | 19 +-
.../core/pattern/DatePatternConverter.java | 3 +-
.../ExtendedThrowablePatternConverter.java | 6 +-
.../log4j/core/pattern/NameAbbreviator.java | 77 +-
.../pattern/RootThrowablePatternConverter.java | 6 +-
.../pattern/ThreadNamePatternConverter.java | 2 +-
.../logging/log4j/core/tools/Generate.java | 470 ++-
.../apache/logging/log4j/core/util/Assert.java | 7 +
.../logging/log4j/core/util/Constants.java | 62 +-
.../logging/log4j/core/util/JsonUtils.java | 93 +
.../logging/log4j/core/util/WatchManager.java | 15 +-
.../logging/log4j/MarkerMixInJsonTest.java | 31 +
.../apache/logging/log4j/MarkerMixInTest.java | 8 +-
.../logging/log4j/MarkerMixInXmlTest.java | 31 +
.../logging/log4j/MarkerMixInYamlTest.java | 31 +
.../log4j/core/AppenderRefLevelJsonTest.java | 12 +-
.../log4j/core/AppenderRefLevelTest.java | 12 +-
.../logging/log4j/core/FileConfigTest.java | 69 -
.../core/GcFreeAsynchronousLoggingTest.java | 41 +
.../logging/log4j/core/GcFreeLoggingTest.java | 131 -
.../log4j/core/GcFreeLoggingTestUtil.java | 176 +
.../core/GcFreeMixedSyncAyncLoggingTest.java | 41 +
.../core/GcFreeSynchronousLoggingTest.java | 40 +
.../apache/logging/log4j/core/LoggerTest.java | 19 +-
.../logging/log4j/core/LoggerUpdateTest.java | 4 +-
.../logging/log4j/core/PatternSelectorTest.java | 12 +-
.../log4j/core/PropertiesFileConfigTest.java | 69 +
.../logging/log4j/core/StrictXmlConfigTest.java | 13 +-
.../log4j/core/TimestampMessageTest.java | 3 +-
.../AsyncAppenderQueueFullPolicyTest.java | 113 +
.../log4j/core/appender/FileAppenderTest.java | 21 +-
.../appender/JsonCompleteFileAppenderTest.java | 2 +-
.../MemoryMappedFileAppenderLocationTest.java | 14 +-
.../appender/MemoryMappedFileManagerTest.java | 4 +-
.../appender/RandomAccessFileAppenderTests.java | 15 +-
.../appender/RandomAccessFileManagerTest.java | 22 +-
.../log4j/core/appender/SocketAppenderTest.java | 15 +-
.../appender/XmlCompleteFileAppenderTest.java | 82 +
.../core/appender/XmlFileAppenderTest.java | 1 +
.../rolling/RollingAppenderSizeTest.java | 5 +-
...RandomAccessFileManagerHeaderFooterTest.java | 5 +-
.../RollingRandomAccessFileManagerTest.java | 6 +-
.../core/async/AsyncEventRouterFactoryTest.java | 114 -
.../async/AsyncLoggerTimestampMessageTest.java | 15 +-
.../async/AsyncQueueFullPolicyFactoryTest.java | 114 +
.../core/async/DefaultAsyncEventRouterTest.java | 50 -
.../async/DefaultAsyncQueueFullPolicyTest.java | 50 +
.../async/DiscardingAsyncEventRouterTest.java | 117 -
.../DiscardingAsyncQueueFullPolicyTest.java | 117 +
.../async/perftest/CountingNoOpAppender.java | 52 -
.../perftest/GilsDosAndDontsLatencyTesting.txt | 29 +
.../log4j/core/async/perftest/IdleStrategy.java | 37 +
.../core/async/perftest/NoOpIdleStrategy.java | 37 +
.../core/async/perftest/ResponseTimeTest.java | 330 ++
.../log4j/core/async/perftest/RunLog4j1.java | 9 +-
.../log4j/core/async/perftest/RunLog4j2.java | 8 +-
.../log4j/core/async/perftest/RunLogback.java | 8 +-
.../core/async/perftest/SimplePerfTest.bat | 20 -
.../core/async/perftest/SimplePerfTest.java | 116 +-
.../log4j/core/async/perftest/SimplePerfTest.sh | 38 -
.../core/async/perftest/YieldIdleStrategy.java | 32 +
.../core/config/CompositeConfigurationTest.java | 176 +
.../log4j/core/config/TestConfigurator.java | 11 +-
.../core/filter/AbstractScriptFilterTest.java | 4 +-
.../core/filter/DynamicThresholdFilterTest.java | 4 +-
.../log4j/core/filter/LevelRangeFilterTest.java | 4 +-
.../log4j/core/filter/MarkerFilterTest.java | 6 +-
.../log4j/core/filter/RegexFilterTest.java | 11 +-
.../core/filter/ThreadContextMapFilterTest.java | 16 +-
.../log4j/core/filter/ThresholdFilterTest.java | 4 +-
.../log4j/core/filter/TimeFilterTest.java | 2 +-
.../log4j/core/impl/Log4jLogEventTest.java | 107 +-
.../log4j/core/impl/MutableLogEventTest.java | 278 ++
.../core/impl/ReusableLogEventFactoryTest.java | 99 +
.../log4j/core/impl/ThrowableProxyTest.java | 15 +-
.../log4j/core/jackson/LevelMixInJsonTest.java | 29 +
.../log4j/core/jackson/LevelMixInTest.java | 9 +-
.../log4j/core/jackson/LevelMixInXmlTest.java | 32 +
.../log4j/core/jackson/LevelMixInYamlTest.java | 29 +
.../jackson/StackTraceElementMixInTest.java | 5 +
.../layout/CsvParameterLayoutAllAsyncTest.java | 69 +
.../core/layout/CsvParameterLayoutTest.java | 80 +-
.../log4j/core/layout/GelfLayoutTest.java | 29 +-
.../log4j/core/layout/PatternLayoutTest.java | 202 ++
.../core/layout/StringBuilderEncoderTest.java | 277 ++
.../core/layout/TextEncoderHelperTest.java | 263 --
.../log4j/core/layout/YamlLayoutTest.java | 287 ++
.../core/net/ssl/SslConfigurationTest.java | 27 +-
.../apache/logging/log4j/junit/CleanFiles.java | 9 +
.../logging/log4j/junit/LoggerContextRule.java | 11 +
.../log4j/test/appender/BlockingAppender.java | 61 +
.../test/appender/EncodingListAppender.java | 16 +
.../log4j/test/appender/ListAppender.java | 15 +-
.../resources/JsonCompleteFileAppenderTest.xml | 4 +-
...cessFileAppenderLocationPropsTest.properties | 35 +
.../src/test/resources/csvParamsMixedAsync.xml | 13 +
log4j-core/src/test/resources/csvParamsSync.xml | 29 +
log4j-core/src/test/resources/gcFreeLogging.xml | 60 +
.../resources/gcFreeMixedSyncAsyncLogging.xml | 71 +
.../test/resources/log4j-asynch-queue-full.xml | 38 +
.../src/test/resources/log4j-comp-appender.json | 34 +
.../src/test/resources/log4j-comp-appender.xml | 39 +
.../src/test/resources/log4j-comp-filter.json | 9 +
.../src/test/resources/log4j-comp-filter.xml | 34 +
.../src/test/resources/log4j-comp-logger.json | 36 +
.../src/test/resources/log4j-comp-logger.xml | 41 +
.../test/resources/log4j-comp-properties.json | 16 +
.../test/resources/log4j-comp-properties.xml | 34 +
.../resources/log4j-comp-reconfig.properties | 59 +
.../src/test/resources/log4j-comp-reconfig.xml | 39 +
.../src/test/resources/log4j-rolling-xy.xml | 59 -
.../src/test/resources/log4j-rolling-xz.xml | 59 +
.../src/test/resources/log4j-test2.properties | 59 +
.../src/test/resources/perf/SimplePerfTest.bat | 47 +
.../src/test/resources/perf/SimplePerfTest.sh | 57 +
.../src/test/resources/perf/runResponseTm.sh | 62 +
.../appender/NoSqlDatabaseManagerTest.java | 26 +-
.../message/ParameterFormatterBenchmark.java | 186 ++
.../perf/jmh/AsyncAppenderLog4j1Benchmark.java | 119 +-
.../AsyncAppenderLog4j1LocationBenchmark.java | 71 +
.../perf/jmh/AsyncAppenderLog4j2Benchmark.java | 124 +-
.../AsyncAppenderLog4j2LocationBenchmark.java | 75 +
.../perf/jmh/AsyncAppenderLogbackBenchmark.java | 122 +-
.../AsyncAppenderLogbackLocationBenchmark.java | 77 +
.../log4j/perf/jmh/AsyncLoggersBenchmark.java | 141 +-
.../perf/jmh/AsyncLoggersLocationBenchmark.java | 84 +
.../log4j/perf/jmh/CollectionsBenchmark.java | 12 +-
.../log4j/perf/jmh/FileAppenderBenchmark.java | 97 +-
.../perf/jmh/FileAppenderParamsBenchmark.java | 170 +
.../log4j/perf/jmh/GelfLayoutBenchmark.java | 111 +
.../jmh/Log4j2AppenderComparisonBenchmark.java | 221 ++
.../log4j/perf/jmh/LoggerConfigBenchmark.java | 2 +-
.../perf/jmh/MemoryHandlerJULBenchmark.java | 165 +
.../jmh/MemoryHandlerJULLocationBenchmark.java | 74 +
.../logging/log4j/perf/jmh/SimpleBenchmark.java | 5 +-
.../perf/jmh/TextEncoderHelperBenchmark.java | 97 +-
...ThreadLocalVsConcurrentHashMapBenchmark.java | 186 +-
.../log4j/perf/jmh/VarargsBenchmark.java | 17 +-
.../logging/log4j/perf/nogc/AbstractLogger.java | 4 +-
.../log4j/perf/nogc/MutableLogEvent.java | 37 -
.../logging/log4j/perf/nogc/NoGcLayout.java | 12 +-
.../apache/logging/log4j/perf/nogc/Test.java | 3 +-
.../apache/logging/log4j/perf/nogc/Unbox.java | 60 -
.../log4j/perf/util/BenchmarkMessageParams.java | 42 +
.../logging/log4j/perf/util/DemoAppender.java | 71 +
.../logging/log4j/perf/util/NoOpJULHandler.java | 41 +
.../log4j/perf/util/NoOpLog4jAppender.java | 44 +
.../log4j/perf/util/NoOpLogbackAppender.java | 33 +
.../resources/log4j2-appenderComparison.xml | 68 +
.../perf-WithoutAnyAppender-location.xml | 12 +
.../main/resources/perf-WithoutAnyAppender.xml | 12 +
...perf-log4j12-async-location-noOpAppender.xml | 31 +
.../perf-log4j12-async-noOpAppender.xml | 30 +
...perf-logback-async-location-noOpAppender.xml | 31 +
.../perf-logback-async-noOpAppender.xml | 31 +
.../perf5AsyncApndNoLoc-noOpAppender.xml | 31 +
.../perf5AsyncApndWithLoc-noOpAppender.xml | 31 +
.../logging/log4j/lookup/CustomLookup.java | 3 +-
.../logging/log4j/lookup/MapMessageLookup.java | 6 +-
.../log4j/taglib/Log4jTaglibLoggerContext.java | 28 +-
.../logging/log4j/taglib/SetLoggerTagTest.java | 23 +-
.../org/apache/logging/slf4j/SLF4JLogger.java | 77 +-
.../logging/slf4j/SLF4JLoggerContext.java | 32 +-
.../org/apache/logging/slf4j/LoggerTest.java | 346 +-
.../log4j/web/ServletRequestThreadContext.java | 29 +
pom.xml | 33 +-
src/changes/changes.xml | 140 +-
src/site/pdf.xml | 1 +
.../images/AsyncWithLocationThrpt1T-labeled.png | Bin 0 -> 23503 bytes
.../images/AsyncWithLocationThrpt1T.png | Bin 0 -> 17751 bytes
...Log4j2AppenderThroughputComparison-linux.png | Bin 0 -> 132814 bytes
...g4j2AppenderThroughputComparison-windows.png | Bin 0 -> 167346 bytes
src/site/resources/images/ParamMsgThrpt1-4T.png | Bin 0 -> 27522 bytes
.../ResponseTimeAsyncClassicVsGcFree-label.png | Bin 0 -> 29217 bytes
[email protected] | Bin 0 -> 30694 bytes
[email protected] | Bin 0 -> 42723 bytes
.../[email protected] | Bin 0 -> 25701 bytes
[email protected] | Bin 0 -> 35566 bytes
[email protected] | Bin 0 -> 37846 bytes
.../images/ResponseTimeSyncClassicVsGcFree.png | Bin 0 -> 38428 bytes
.../ResponseTimeVsServiceTimeAsyncLoggers.png | Bin 0 -> 34779 bytes
[email protected] | Bin 0 -> 33079 bytes
.../SyncThroughputLoggerComparisonLinux.png | Bin 0 -> 28640 bytes
.../garbage-free2.6-SyncThroughputLinux.png | Bin 0 -> 65092 bytes
...log4j-2.5-FlightRecording-thumbnail40pct.png | Bin 0 -> 57992 bytes
.../images/log4j-2.5-FlightRecording.png | Bin 0 -> 68628 bytes
...log4j-2.6-FlightRecording-thumbnail40pct.png | Bin 0 -> 45221 bytes
.../images/log4j-2.6-FlightRecording.png | Bin 0 -> 50481 bytes
src/site/site.xml | 17 +-
src/site/xdoc/articles.xml | 8 +
src/site/xdoc/index.xml | 6 +
src/site/xdoc/manual/appenders.xml | 8 +-
src/site/xdoc/manual/async.xml | 365 +-
src/site/xdoc/manual/configuration.xml.vm | 59 +-
src/site/xdoc/manual/garbagefree.xml | 489 +++
src/site/xdoc/manual/index.xml | 10 +-
src/site/xdoc/manual/layouts.xml.vm | 223 +-
src/site/xdoc/manual/markers.xml | 5 +-
src/site/xdoc/manual/thread-context.xml | 311 +-
src/site/xdoc/performance.xml | 311 +-
src/site/xdoc/runtime-dependencies.xml | 35 +-
335 files changed, 21962 insertions(+), 5000 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/8dcc67b6/log4j-core/src/main/java/org/apache/logging/log4j/core/layout/AbstractStringLayout.java
----------------------------------------------------------------------