This is an automated email from the ASF dual-hosted git repository. vy pushed a commit to branch scheduled-for-deletion/gelf-layout-efficiency in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git
commit 8dcc67b60f6cae8afc5fdb7f16dbbc1e6e9ecbb0 Merge: 482abdd62a 0db58f1b80 Author: Mikael Ståldal <[email protected]> AuthorDate: Wed May 11 17:54:33 2016 +0200 Merge branch 'master' into gelf-layout-efficiency Conflicts: log4j-core/src/main/java/org/apache/logging/log4j/core/layout/GelfLayout.java README.md | 23 + .../src/main/java/org/apache/log4j/Category.java | 34 +- .../java/org/apache/log4j/spi/LoggerFactory.java | 9 +- .../logging/log4j/CloseableThreadContext.java | 172 ++ .../main/java/org/apache/logging/log4j/Logger.java | 3121 ++++++++++++++++---- .../org/apache/logging/log4j/MarkerManager.java | 11 +- .../org/apache/logging/log4j/message/Message.java | 13 + .../logging/log4j/message/MessageFactory2.java | 179 ++ .../logging/log4j/message/ObjectMessage.java | 4 +- .../logging/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 +- .../apache/logging/log4j/simple/SimpleLogger.java | 73 + .../logging/log4j/simple/SimpleLoggerContext.java | 24 +- .../apache/logging/log4j/spi/AbstractLogger.java | 1156 +++++++- .../apache/logging/log4j/spi/ExtendedLogger.java | 392 ++- .../logging/log4j/spi/ExtendedLoggerWrapper.java | 96 +- .../apache/logging/log4j/spi/LoggerContextKey.java | 4 +- .../apache/logging/log4j/spi/LoggerRegistry.java | 182 ++ .../logging/log4j/spi/MessageFactory2Adapter.java | 118 + .../org/apache/logging/log4j/spi/Terminable.java | 16 +- .../apache/logging/log4j/status/StatusLogger.java | 93 +- .../org/apache/logging/log4j/util/LoaderUtil.java | 8 +- .../logging/log4j/util/PerformanceSensitive.java | 6 + .../apache/logging/log4j/util/ReflectionUtil.java | 2 +- .../org/apache/logging/log4j/util/Strings.java | 12 + .../java/org/apache/logging/log4j/util/Unbox.java | 176 ++ .../apache/logging/log4j/AbstractLoggerTest.java | 379 ++- .../logging/log4j/CloseableThreadContextTest.java | 120 + .../org/apache/logging/log4j/LambdaLoggerTest.java | 149 +- .../java/org/apache/logging/log4j/LoggerTest.java | 49 +- .../java/org/apache/logging/log4j/TestLogger.java | 73 + .../log4j/message/ParameterFormatterTest.java | 2 - .../log4j/message/ParameterizedMessageTest.java | 8 + .../message/ReusableParameterizedMessageTest.java | 71 +- .../log4j/message/ReusableSimpleMessageTest.java | 8 +- .../org/apache/logging/log4j/util/UnboxTest.java | 157 + log4j-core/pom.xml | 19 +- .../java/org/apache/logging/log4j/core/Filter.java | 171 ++ .../java/org/apache/logging/log4j/core/Logger.java | 241 +- .../apache/logging/log4j/core/LoggerContext.java | 27 +- .../appender/AbstractOutputStreamAppender.java | 40 +- .../logging/log4j/core/appender/AsyncAppender.java | 167 +- .../log4j/core/appender/ConsoleAppender.java | 12 +- .../log4j/core/appender}/CountingNoOpAppender.java | 12 +- .../log4j/core/appender/DefaultErrorHandler.java | 4 + .../logging/log4j/core/appender/FileAppender.java | 6 +- .../logging/log4j/core/appender/FileManager.java | 39 +- .../core/appender/MemoryMappedFileAppender.java | 10 +- .../core/appender/MemoryMappedFileManager.java | 35 +- .../log4j/core/appender/OutputStreamManager.java | 155 +- .../core/appender/RandomAccessFileAppender.java | 17 +- .../core/appender/RandomAccessFileManager.java | 60 +- .../log4j/core/appender/RollingFileAppender.java | 2 +- .../appender/RollingRandomAccessFileAppender.java | 19 +- .../log4j/core/appender/SocketAppender.java | 20 +- .../appender/rolling/DefaultRolloverStrategy.java | 4 +- .../core/appender/rolling/PatternProcessor.java | 582 ++-- .../core/appender/rolling/RollingFileManager.java | 62 +- .../rolling/RollingRandomAccessFileManager.java | 63 +- .../core/appender/rolling/action/DeleteAction.java | 432 ++- .../logging/log4j/core/async/AsyncLogger.java | 47 +- .../log4j/core/async/AsyncLoggerConfig.java | 1 + .../AsyncLoggerConfigDefaultExceptionHandler.java | 54 + .../core/async/AsyncLoggerConfigDelegate.java | 10 + .../core/async/AsyncLoggerConfigDisruptor.java | 89 +- .../async/AsyncLoggerDefaultExceptionHandler.java | 52 + .../log4j/core/async/AsyncLoggerDisruptor.java | 23 +- ...cEventRouter.java => AsyncQueueFullPolicy.java} | 10 +- ...ctory.java => AsyncQueueFullPolicyFactory.java} | 58 +- ...outer.java => DefaultAsyncQueueFullPolicy.java} | 2 +- ...er.java => DiscardingAsyncQueueFullPolicy.java} | 14 +- .../logging/log4j/core/async/DisruptorUtil.java | 280 +- .../logging/log4j/core/async/EventRoute.java | 13 +- .../log4j/core/async/RingBufferLogEvent.java | 279 +- .../core/async/RingBufferLogEventTranslator.java | 9 +- .../core/async/ThreadNameCachingStrategy.java | 4 +- .../log4j/core/config/AbstractConfiguration.java | 26 +- .../log4j/core/config/ConfigurationFactory.java | 66 +- .../log4j/core/config/ConfigurationSource.java | 51 +- .../log4j/core/config/ConfiguratonFileWatcher.java | 4 + .../logging/log4j/core/config/Configurator.java | 46 +- .../logging/log4j/core/config/LoggerConfig.java | 5 +- .../config/builder/api/ConfigurationBuilder.java | 89 + .../config/builder/impl/BuiltConfiguration.java | 6 +- .../builder/impl/DefaultConfigurationBuilder.java | 70 +- .../impl/DefaultLoggerComponentBuilder.java | 29 + .../impl/DefaultRootLoggerComponentBuilder.java | 27 + .../config/composite/CompositeConfiguration.java | 183 ++ .../config/composite/DefaultMergeStrategy.java | 266 ++ .../composite/MergeStrategy.java} | 31 +- .../log4j/core/config/composite/package-info.java | 15 +- .../config/properties/PropertiesConfiguration.java | 2 +- .../properties/PropertiesConfigurationBuilder.java | 47 +- .../properties/PropertiesConfigurationFactory.java | 5 +- .../core/config/status/StatusConfiguration.java | 1 + .../logging/log4j/core/filter/AbstractFilter.java | 204 ++ .../logging/log4j/core/filter/CompositeFilter.java | 328 +- .../log4j/core/impl/Log4jContextFactory.java | 43 +- .../logging/log4j/core/impl/Log4jLogEvent.java | 76 +- .../logging/log4j/core/impl/MutableLogEvent.java | 459 +++ .../log4j/core/impl/ReusableLogEventFactory.java | 88 + .../logging/log4j/core/jackson/Initializers.java | 2 +- .../log4j/core/jackson/Log4jJsonObjectMapper.java | 2 +- .../log4j/core/jackson/Log4jXmlObjectMapper.java | 2 +- ...jJsonObjectMapper.java => Log4jYamlModule.java} | 28 +- ...bjectMapper.java => Log4jYamlObjectMapper.java} | 9 +- .../log4j/core/layout/AbstractCsvLayout.java | 158 +- .../log4j/core/layout/AbstractJacksonLayout.java | 17 +- .../logging/log4j/core/layout/AbstractLayout.java | 23 + .../log4j/core/layout/AbstractStringLayout.java | 48 +- .../log4j/core/layout/ByteBufferDestination.java | 8 +- .../log4j/core/layout/CsvLogEventLayout.java | 213 +- .../log4j/core/layout/CsvParameterLayout.java | 207 +- .../logging/log4j/core/layout/GelfLayout.java | 148 +- .../logging/log4j/core/layout/JacksonFactory.java | 77 +- .../logging/log4j/core/layout/JsonLayout.java | 4 +- .../core/layout/LockingStringBuilderEncoder.java | 69 + .../logging/log4j/core/layout/PatternLayout.java | 7 +- .../logging/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 ++++++ .../apache/logging/log4j/core/net/SmtpManager.java | 5 +- .../log4j/core/net/server/TcpSocketServer.java | 19 +- .../log4j/core/pattern/DatePatternConverter.java | 3 +- .../pattern/ExtendedThrowablePatternConverter.java | 6 +- .../log4j/core/pattern/NameAbbreviator.java | 77 +- .../pattern/RootThrowablePatternConverter.java | 6 +- .../core/pattern/ThreadNamePatternConverter.java | 2 +- .../apache/logging/log4j/core/tools/Generate.java | 470 ++- .../org/apache/logging/log4j/core/util/Assert.java | 7 + .../apache/logging/log4j/core/util/Constants.java | 62 +- .../apache/logging/log4j/core/util/JsonUtils.java | 93 + .../logging/log4j/core/util/WatchManager.java | 15 +- .../apache/logging/log4j/MarkerMixInJsonTest.java | 31 + .../org/apache/logging/log4j/MarkerMixInTest.java | 8 +- .../apache/logging/log4j/MarkerMixInXmlTest.java | 31 + .../apache/logging/log4j/MarkerMixInYamlTest.java | 31 + .../log4j/core/AppenderRefLevelJsonTest.java | 12 +- .../logging/log4j/core/AppenderRefLevelTest.java | 12 +- .../log4j/core/GcFreeAsynchronousLoggingTest.java | 41 + ...LoggingTest.java => GcFreeLoggingTestUtil.java} | 129 +- .../log4j/core/GcFreeMixedSyncAyncLoggingTest.java | 41 + .../log4j/core/GcFreeSynchronousLoggingTest.java} | 28 +- .../org/apache/logging/log4j/core/LoggerTest.java | 19 +- .../logging/log4j/core/LoggerUpdateTest.java | 4 +- .../logging/log4j/core/PatternSelectorTest.java | 12 +- ...nfigTest.java => PropertiesFileConfigTest.java} | 4 +- .../logging/log4j/core/StrictXmlConfigTest.java | 13 +- .../logging/log4j/core/TimestampMessageTest.java | 3 +- .../appender/AsyncAppenderQueueFullPolicyTest.java | 113 + .../log4j/core/appender/FileAppenderTest.java | 21 +- .../appender/JsonCompleteFileAppenderTest.java | 2 +- .../MemoryMappedFileAppenderLocationTest.java | 14 +- .../core/appender/MemoryMappedFileManagerTest.java | 4 +- .../appender/RandomAccessFileAppenderTests.java | 15 +- .../core/appender/RandomAccessFileManagerTest.java | 22 +- .../log4j/core/appender/SocketAppenderTest.java | 15 +- .../core/appender/XmlCompleteFileAppenderTest.java | 82 + .../log4j/core/appender/XmlFileAppenderTest.java | 1 + .../appender/rolling/RollingAppenderSizeTest.java | 5 +- ...ingRandomAccessFileManagerHeaderFooterTest.java | 5 +- .../RollingRandomAccessFileManagerTest.java | 6 +- .../async/AsyncLoggerTimestampMessageTest.java | 15 +- ...t.java => AsyncQueueFullPolicyFactoryTest.java} | 54 +- ...t.java => DefaultAsyncQueueFullPolicyTest.java} | 8 +- ...ava => DiscardingAsyncQueueFullPolicyTest.java} | 32 +- .../perftest/GilsDosAndDontsLatencyTesting.txt | 29 + .../log4j/core/async/perftest/IdleStrategy.java | 37 + .../core/async/perftest/NoOpIdleStrategy.java | 26 +- .../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 +- .../log4j/core/async/perftest/SimplePerfTest.bat | 20 - .../log4j/core/async/perftest/SimplePerfTest.java | 116 +- .../core/async/perftest/YieldIdleStrategy.java | 22 +- .../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 +- .../logging/log4j/core/filter/RegexFilterTest.java | 11 +- .../core/filter/ThreadContextMapFilterTest.java | 16 +- .../log4j/core/filter/ThresholdFilterTest.java | 4 +- .../logging/log4j/core/filter/TimeFilterTest.java | 2 +- .../logging/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 | 19 +- .../logging/log4j/core/jackson/LevelMixInTest.java | 9 +- .../log4j/core/jackson/LevelMixInXmlTest.java | 22 +- .../log4j/core/jackson/LevelMixInYamlTest.java | 19 +- .../core/jackson/StackTraceElementMixInTest.java | 5 + .../layout/CsvParameterLayoutAllAsyncTest.java | 69 + .../log4j/core/layout/CsvParameterLayoutTest.java | 80 +- .../logging/log4j/core/layout/GelfLayoutTest.java | 29 +- .../log4j/core/layout/PatternLayoutTest.java | 202 ++ ...lperTest.java => StringBuilderEncoderTest.java} | 56 +- .../logging/log4j/core/layout/YamlLayoutTest.java | 287 ++ .../log4j/core/net/ssl/SslConfigurationTest.java | 27 +- .../org/apache/logging/log4j/junit/CleanFiles.java | 9 + .../logging/log4j/junit/LoggerContextRule.java | 11 + .../appender/BlockingAppender.java} | 45 +- .../log4j/test/appender/EncodingListAppender.java | 16 + .../logging/log4j/test/appender/ListAppender.java | 15 +- .../resources/JsonCompleteFileAppenderTest.xml | 4 +- ...mAccessFileAppenderLocationPropsTest.properties | 35 + .../src/test/resources/csvParamsMixedAsync.xml | 13 + log4j-core/src/test/resources/csvParamsSync.xml | 29 + log4j-core/src/test/resources/gcFreeLogging.xml | 60 + .../test/resources/gcFreeMixedSyncAsyncLogging.xml | 71 + .../src/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 + .../src/test/resources/log4j-comp-properties.json | 16 + ...4j-rolling-xy.xml => log4j-comp-properties.xml} | 33 +- .../test/resources/log4j-comp-reconfig.properties | 59 + .../src/test/resources/log4j-comp-reconfig.xml | 39 + .../{log4j-rolling-xy.xml => log4j-rolling-xz.xml} | 2 +- .../src/test/resources/log4j-test2.properties | 59 + .../src/test/resources/perf/SimplePerfTest.bat | 47 + .../perftest => resources/perf}/SimplePerfTest.sh | 19 + .../src/test/resources/perf/runResponseTm.sh | 62 + .../nosql/appender/NoSqlDatabaseManagerTest.java | 26 +- .../log4j/message/ParameterFormatterBenchmark.java | 186 ++ .../perf/jmh/AsyncAppenderLog4j1Benchmark.java | 119 +- ...a => AsyncAppenderLog4j1LocationBenchmark.java} | 55 +- .../perf/jmh/AsyncAppenderLog4j2Benchmark.java | 124 +- ...a => AsyncAppenderLog4j2LocationBenchmark.java} | 49 +- .../perf/jmh/AsyncAppenderLogbackBenchmark.java | 122 +- ... => AsyncAppenderLogbackLocationBenchmark.java} | 61 +- .../log4j/perf/jmh/AsyncLoggersBenchmark.java | 141 +- ...ark.java => AsyncLoggersLocationBenchmark.java} | 48 +- .../log4j/perf/jmh/CollectionsBenchmark.java | 12 +- .../log4j/perf/jmh/FileAppenderBenchmark.java | 97 +- ...hmark.java => FileAppenderParamsBenchmark.java} | 112 +- .../log4j/perf/jmh/GelfLayoutBenchmark.java | 111 + .../jmh/Log4j2AppenderComparisonBenchmark.java | 221 ++ .../log4j/perf/jmh/LoggerConfigBenchmark.java | 2 +- .../log4j/perf/jmh/MemoryHandlerJULBenchmark.java | 165 ++ .../jmh/MemoryHandlerJULLocationBenchmark.java | 74 + .../logging/log4j/perf/jmh/SimpleBenchmark.java | 5 +- .../log4j/perf/jmh/TextEncoderHelperBenchmark.java | 97 +- .../ThreadLocalVsConcurrentHashMapBenchmark.java | 186 +- .../logging/log4j/perf/jmh/VarargsBenchmark.java | 17 +- .../logging/log4j/perf/nogc/AbstractLogger.java | 4 +- .../apache/logging/log4j/perf/nogc/NoGcLayout.java | 12 +- .../org/apache/logging/log4j/perf/nogc/Test.java | 3 +- .../org/apache/logging/log4j/perf/nogc/Unbox.java | 60 - .../log4j/perf/util/BenchmarkMessageParams.java | 36 +- .../logging/log4j/perf/util/DemoAppender.java | 71 + .../NoOpJULHandler.java} | 26 +- .../NoOpLog4jAppender.java} | 29 +- .../NoOpLogbackAppender.java} | 22 +- .../main/resources/log4j2-appenderComparison.xml | 68 + .../resources/perf-WithoutAnyAppender-location.xml | 12 + .../src/main/resources/perf-WithoutAnyAppender.xml | 12 + .../perf-log4j12-async-location-noOpAppender.xml | 31 + .../resources/perf-log4j12-async-noOpAppender.xml | 30 + .../perf-logback-async-location-noOpAppender.xml | 31 + .../resources/perf-logback-async-noOpAppender.xml | 31 + .../resources/perf5AsyncApndNoLoc-noOpAppender.xml | 31 + .../perf5AsyncApndWithLoc-noOpAppender.xml | 31 + .../apache/logging/log4j/lookup/CustomLookup.java | 3 +- .../logging/log4j/lookup/MapMessageLookup.java | 6 +- .../log4j/taglib/Log4jTaglibLoggerContext.java | 28 +- .../logging/log4j/taglib/SetLoggerTagTest.java | 23 +- .../java/org/apache/logging/slf4j/SLF4JLogger.java | 77 +- .../apache/logging/slf4j/SLF4JLoggerContext.java | 32 +- .../java/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 .../resources/images/AsyncWithLocationThrpt1T.png | Bin 0 -> 17751 bytes .../Log4j2AppenderThroughputComparison-linux.png | Bin 0 -> 132814 bytes .../Log4j2AppenderThroughputComparison-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 .../images/SyncThroughputLoggerComparisonLinux.png | Bin 0 -> 28640 bytes .../images/garbage-free2.6-SyncThroughputLinux.png | Bin 0 -> 65092 bytes .../log4j-2.5-FlightRecording-thumbnail40pct.png | Bin 0 -> 57992 bytes .../resources/images/log4j-2.5-FlightRecording.png | Bin 0 -> 68628 bytes .../log4j-2.6-FlightRecording-thumbnail40pct.png | Bin 0 -> 45221 bytes .../resources/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 +- 321 files changed, 20221 insertions(+), 4393 deletions(-)
