Merge branch 'master' into LOG4J2-1390

# Conflicts:
#       
log4j-core/src/main/java/org/apache/logging/log4j/core/appender/mom/kafka/KafkaManager.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/39e28336
Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/39e28336
Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/39e28336

Branch: refs/heads/LOG4J2-1390
Commit: 39e2833698ddea21e10cb9a57e1638f40cdda0a1
Parents: 3fac1c7 6ffcd1e
Author: Mikael StÃ¥ldal <[email protected]>
Authored: Mon Oct 24 10:07:38 2016 +0200
Committer: Mikael StÃ¥ldal <[email protected]>
Committed: Mon Oct 24 10:07:38 2016 +0200

----------------------------------------------------------------------
 .gitignore                                      |   14 +-
 BUILDING.txt                                    |  100 +-
 README.md                                       |    8 +
 RELEASE-NOTES.txt                               |  200 ++--
 log4j-1.2-api/.gitignore                        |    5 -
 log4j-1.2-api/pom.xml                           |    9 +-
 .../src/main/java/org/apache/log4j/Layout.java  |    4 +-
 .../apache/log4j/config/InputStreamWrapper.java |   92 ++
 .../config/Log4j1ConfigurationConverter.java    |  211 ++++
 .../config/Log4j1ConfigurationFactory.java      |  278 +----
 .../log4j/config/Log4j1ConfigurationParser.java |  446 ++++++++
 .../apache/log4j/layout/Log4j1XmlLayout.java    |  162 +++
 .../pattern/Log4j1MdcPatternConverter.java      |   88 ++
 .../pattern/Log4j1NdcPatternConverter.java      |   63 ++
 .../apache/log4j/BasicConfigurationFactory.java |   13 +-
 .../java/org/apache/log4j/CategoryTest.java     |    3 +-
 .../java/org/apache/log4j/LogWithMDCTest.java   |    6 +-
 .../java/org/apache/log4j/LogWithRouteTest.java |    6 +-
 ...bstractLog4j1ConfigurationConverterTest.java |   69 ++
 .../Log4j1ConfigurationConverterHadoopTest.java |   39 +
 .../Log4j1ConfigurationConverterSparkTest.java  |   39 +
 .../config/Log4j1ConfigurationFactoryTest.java  |  237 +++-
 .../log4j/layout/Log4j1XmlLayoutTest.java       |   84 ++
 .../pattern/Log4j1MdcPatternConverterTest.java  |   79 ++
 .../pattern/Log4j1NdcPatternConverterTest.java  |   74 ++
 .../src/main/resources/log4j.properties         |   19 +
 .../src/main/conf/log4j.properties              |  323 ++++++
 .../src/test/resources/log4j.properties         |   18 +
 .../src/test/resources/log4j.properties         |   31 +
 .../src/main/resources/log4j.properties         |   31 +
 .../src/test/resources/log4j.properties         |   18 +
 .../src/test/resources/log4j.properties         |   49 +
 .../src/test/resources/log4j.properties         |   55 +
 .../src/test/resources/log4j.properties         |   49 +
 .../src/test/resources/log4j.properties         |   19 +
 .../src/test/resources/log4j.properties         |   19 +
 .../src/test/resources/log4j.properties         |   19 +
 .../src/test/resources/log4j.properties         |   19 +
 .../src/test/resources/log4j.properties         |   19 +
 .../src/test/resources/log4j.properties         |   19 +
 .../src/test/resources/log4j.properties         |   19 +
 .../src/test/resources/log4j.properties         |   23 +
 .../src/test/resources/log4j.properties         |   25 +
 .../src/test/resources/log4j.properties         |   42 +
 .../src/main/sample-conf/log4j.properties       |   19 +
 .../src/test/resources/log4j.properties         |   19 +
 .../src/test/resources/log4j.properties         |   37 +
 .../src/test/resources/log4j.properties         |   19 +
 .../src/test/resources/log4j.properties         |   63 ++
 .../src/test/resources/log4j.properties         |   19 +
 .../src/test/resources/log4j.properties         |   19 +
 .../src/test/resources/log4j.properties         |   19 +
 .../src/test/resources/log4j.properties         |   19 +
 .../src/test/resources/log4j.properties         |   19 +
 .../src/test/resources/log4j.properties         |   19 +
 .../log4j-DailyRollingFileAppender.properties   |   26 +
 .../config-1.2/log4j-NullAppender.properties    |    9 +
 ...4j-RollingFileAppender-with-props.properties |   27 +
 .../log4j-RollingFileAppender.properties        |   22 +
 ...g4j-console-EnhancedPatternLayout.properties |    3 +-
 .../log4j-console-HtmlLayout.properties         |    3 +-
 .../log4j-console-PatternLayout.properties      |    1 -
 .../log4j-console-SimpleLayout.properties       |    1 -
 .../log4j-console-TTCCLayout.properties         |    3 +-
 .../log4j-console-XmlLayout.properties          |    5 +-
 .../log4j-file-SimpleLayout.properties          |   17 +
 .../log4j-system-properties-1.properties        |   14 +
 .../log4j-system-properties-2.properties        |   15 +
 .../config-1.2/spark/R/log4j.properties         |   28 +
 .../src/test/resources/log4j.properties         |   27 +
 .../src/test/resources/log4j.properties         |   24 +
 .../core/src/test/resources/log4j.properties    |   36 +
 .../src/test/resources/log4j.properties         |   28 +
 .../flume/src/test/resources/log4j.properties   |   28 +
 .../src/test/resources/log4j.properties         |   27 +
 .../src/test/resources/log4j.properties         |   28 +
 .../src/test/resources/log4j.properties         |   28 +
 .../src/main/resources/log4j.properties         |   37 +
 .../src/test/resources/log4j.properties         |   27 +
 .../graphx/src/test/resources/log4j.properties  |   27 +
 .../src/test/resources/log4j.properties         |   33 +
 .../mllib/src/test/resources/log4j.properties   |   28 +
 .../repl/src/test/resources/log4j.properties    |   27 +
 .../src/test/resources/log4j.properties         |   27 +
 .../core/src/test/resources/log4j.properties    |   57 +
 .../hive/src/test/resources/log4j.properties    |   61 ++
 .../src/test/resources/log4j.properties         |   28 +
 .../yarn/src/test/resources/log4j.properties    |   31 +
 log4j-api-scala_2.10/pom.xml                    |  150 +++
 .../org/apache/logging/log4j/scala/Logger.scala |  592 ++++++++++
 .../logging/log4j/scala/LoggerMacro.scala       |  425 ++++++++
 .../apache/logging/log4j/scala/Logging.scala    |   30 +
 .../apache/logging/log4j/scala/LoggerTest.scala |  550 ++++++++++
 log4j-api-scala_2.11/pom.xml                    |  150 +++
 .../org/apache/logging/log4j/scala/Logger.scala |  592 ++++++++++
 .../logging/log4j/scala/LoggerMacro.scala       |  425 ++++++++
 .../apache/logging/log4j/scala/Logging.scala    |   30 +
 .../apache/logging/log4j/scala/LoggerTest.scala |  550 ++++++++++
 log4j-api/.gitignore                            |    5 -
 log4j-api/pom.xml                               |    2 +-
 .../logging/log4j/CloseableThreadContext.java   |   11 +-
 .../org/apache/logging/log4j/LogManager.java    |   18 +-
 .../java/org/apache/logging/log4j/Logger.java   |   70 +-
 .../org/apache/logging/log4j/MarkerManager.java |    4 +-
 .../org/apache/logging/log4j/ThreadContext.java |  123 ++-
 .../log4j/message/AbstractMessageFactory.java   |  110 +-
 .../message/DefaultFlowMessageFactory.java      |   15 +-
 .../log4j/message/FormattedMessageFactory.java  |   97 +-
 .../logging/log4j/message/LocalizedMessage.java |    2 +-
 .../log4j/message/LocalizedMessageFactory.java  |   10 +-
 .../logging/log4j/message/MessageFactory2.java  |  112 +-
 .../log4j/message/MessageFormatMessage.java     |    2 +-
 .../message/MessageFormatMessageFactory.java    |   93 +-
 .../logging/log4j/message/ObjectMessage.java    |   21 +-
 .../log4j/message/ParameterFormatter.java       |   36 +-
 .../log4j/message/ParameterizedMessage.java     |   22 +-
 .../message/ParameterizedMessageFactory.java    |  105 +-
 .../ParameterizedNoReferenceMessageFactory.java |   12 +-
 .../log4j/message/ReusableMessageFactory.java   |   21 +-
 .../log4j/message/ReusableObjectMessage.java    |   26 +-
 .../message/ReusableParameterizedMessage.java   |   92 +-
 .../log4j/message/ReusableSimpleMessage.java    |    4 +-
 .../logging/log4j/message/SimpleMessage.java    |    4 +-
 .../log4j/message/SimpleMessageFactory.java     |  102 +-
 .../log4j/message/StringFormattedMessage.java   |    6 +
 .../message/StringFormatterMessageFactory.java  |   94 +-
 .../log4j/simple/SimpleLoggerContext.java       |   14 +-
 .../simple/SimpleLoggerContextFactory.java      |    1 +
 .../logging/log4j/spi/AbstractLogger.java       |  112 +-
 .../log4j/spi/AbstractLoggerAdapter.java        |   31 +-
 .../apache/logging/log4j/spi/CopyOnWrite.java   |   25 +
 .../CopyOnWriteSortedArrayThreadContextMap.java |  224 ++++
 .../log4j/spi/DefaultThreadContextMap.java      |   64 +-
 .../GarbageFreeSortedArrayThreadContextMap.java |  225 ++++
 .../logging/log4j/spi/LoggerRegistry.java       |    2 +-
 .../log4j/spi/MutableThreadContextStack.java    |   10 +-
 .../logging/log4j/spi/NoOpThreadContextMap.java |   65 ++
 .../org/apache/logging/log4j/spi/Provider.java  |    6 +-
 .../logging/log4j/spi/ThreadContextMap.java     |   63 +-
 .../logging/log4j/spi/ThreadContextMap2.java    |   51 +
 .../log4j/spi/ThreadContextMapFactory.java      |   91 ++
 .../logging/log4j/spi/ThreadContextStack.java   |    1 +
 .../apache/logging/log4j/status/StatusData.java |    2 +-
 .../logging/log4j/status/StatusLogger.java      |    2 +-
 .../apache/logging/log4j/util/Activator.java    |    1 +
 .../apache/logging/log4j/util/BiConsumer.java   |   35 +
 .../apache/logging/log4j/util/Constants.java    |   62 ++
 .../apache/logging/log4j/util/LambdaUtil.java   |    2 +-
 .../apache/logging/log4j/util/LoaderUtil.java   |   48 +-
 .../logging/log4j/util/PropertiesUtil.java      |  597 +++++-----
 .../logging/log4j/util/ReadOnlyStringMap.java   |  106 ++
 .../log4j/util/SortedArrayStringMap.java        |  528 +++++++++
 .../logging/log4j/util/StringBuilders.java      |   38 +-
 .../apache/logging/log4j/util/StringMap.java    |   98 ++
 .../org/apache/logging/log4j/util/Strings.java  |   70 ++
 .../org/apache/logging/log4j/util/Supplier.java |    1 +
 .../apache/logging/log4j/util/TriConsumer.java  |   37 +
 .../org/apache/logging/log4j/util/Unbox.java    |  137 ++-
 .../logging/log4j/AbstractLoggerTest.java       |    4 +-
 .../log4j/CloseableThreadContextTest.java       |   11 +-
 .../apache/logging/log4j/LogManagerTest.java    |    2 +-
 .../org/apache/logging/log4j/LoggerTest.java    |   78 +-
 .../apache/logging/log4j/TestLoggerContext.java |    4 +-
 .../logging/log4j/ThreadContextHolder.java      |   79 ++
 .../apache/logging/log4j/ThreadContextTest.java |   20 +
 .../apache/logging/log4j/TraceLoggingTest.java  |  316 ++++++
 .../logging/log4j/junit/BundleTestInfo.java     |  137 +--
 .../apache/logging/log4j/junit/OsgiRule.java    |  141 +--
 .../log4j/junit/ThreadContextMapRule.java       |   37 +
 .../logging/log4j/junit/ThreadContextRule.java  |   78 ++
 .../log4j/junit/ThreadContextStackRule.java     |   37 +
 .../logging/log4j/message/JsonMessage.java      |    2 +-
 .../log4j/message/ParameterFormatterTest.java   |   12 +-
 .../log4j/message/ParameterizedMessageTest.java |   24 +
 .../message/ReusableMessageFactoryTest.java     |  130 +++
 .../message/ReusableObjectMessageTest.java      |   18 +-
 .../ReusableParameterizedMessageTest.java       |   21 +-
 .../message/ReusableSimpleMessageTest.java      |   18 +-
 .../log4j/spi/DefaultThreadContextMapTest.java  |   26 +-
 .../logging/log4j/spi/LoggerAdapterTest.java    |  126 +++
 .../log4j/util/SortedArrayStringMapTest.java    | 1029 ++++++++++++++++++
 .../apache/logging/log4j/util/Unbox1Test.java   |  170 +++
 .../log4j/util/Unbox2ConfigurableTest.java      |   91 ++
 .../apache/logging/log4j/util/UnboxTest.java    |  157 ---
 log4j-bom/.gitignore                            |    2 -
 log4j-bom/pom.xml                               |   26 +-
 log4j-core/.gitignore                           |    5 -
 log4j-core/pom.xml                              |   56 +-
 .../logging/log4j/ThreadContextAccess.java      |   59 +
 .../logging/log4j/core/AbstractLifeCycle.java   |   25 +-
 .../logging/log4j/core/AbstractLogEvent.java    |    6 +
 .../logging/log4j/core/ContextDataInjector.java |  108 ++
 .../apache/logging/log4j/core/LifeCycle.java    |   11 +-
 .../apache/logging/log4j/core/LifeCycle2.java   |   37 +
 .../org/apache/logging/log4j/core/LogEvent.java |   25 +
 .../org/apache/logging/log4j/core/Logger.java   |    4 +-
 .../logging/log4j/core/LoggerContext.java       |  161 ++-
 .../log4j/core/appender/AbstractAppender.java   |   65 ++
 .../log4j/core/appender/AbstractManager.java    |   90 +-
 .../appender/AbstractOutputStreamAppender.java  |   62 +-
 .../core/appender/AbstractWriterAppender.java   |  248 ++---
 .../log4j/core/appender/AppenderSet.java        |  137 +++
 .../log4j/core/appender/AsyncAppender.java      |  174 ++-
 .../core/appender/ConfigurationFactoryData.java |   50 +
 .../log4j/core/appender/ConsoleAppender.java    |  153 +--
 .../core/appender/CountingNoOpAppender.java     |    9 +-
 .../log4j/core/appender/FailoverAppender.java   |    2 +-
 .../log4j/core/appender/FileAppender.java       |  279 +++--
 .../log4j/core/appender/FileManager.java        |  114 +-
 .../core/appender/MemoryMappedFileAppender.java |   13 +-
 .../core/appender/MemoryMappedFileManager.java  |   14 +-
 .../log4j/core/appender/NullAppender.java       |   48 +
 .../core/appender/OutputStreamAppender.java     |    3 +-
 .../core/appender/OutputStreamManager.java      |  635 ++++++-----
 .../core/appender/RandomAccessFileAppender.java |   25 +-
 .../core/appender/RandomAccessFileManager.java  |   35 +-
 .../core/appender/RollingFileAppender.java      |  578 ++++++----
 .../RollingRandomAccessFileAppender.java        |   15 +-
 .../core/appender/ScriptAppenderSelector.java   |  141 +++
 .../log4j/core/appender/SmtpAppender.java       |    3 +-
 .../log4j/core/appender/SocketAppender.java     |  244 ++++-
 .../log4j/core/appender/SyslogAppender.java     |   11 +-
 .../log4j/core/appender/WriterAppender.java     |    3 +-
 .../log4j/core/appender/WriterManager.java      |  300 ++---
 .../appender/db/AbstractDatabaseAppender.java   |  280 ++---
 .../appender/db/AbstractDatabaseManager.java    |  457 ++++----
 .../db/jdbc/FactoryMethodConnectionSource.java  |    4 +-
 .../core/appender/db/jdbc/JdbcAppender.java     |    3 +-
 .../appender/db/jdbc/JdbcDatabaseManager.java   |  515 ++++-----
 .../db/jpa/AbstractLogEventWrapperEntity.java   |   31 +-
 .../appender/db/jpa/BasicLogEventEntity.java    |    1 -
 .../log4j/core/appender/db/jpa/JpaAppender.java |    7 +-
 .../appender/db/jpa/JpaDatabaseManager.java     |  381 +++----
 .../ContextDataAttributeConverter.java          |   46 +
 .../ContextDataJsonAttributeConverter.java      |   93 ++
 .../converter/ThrowableAttributeConverter.java  |    4 +-
 .../log4j/core/appender/mom/JmsAppender.java    |  425 ++++----
 .../log4j/core/appender/mom/JmsManager.java     |  347 +++---
 .../appender/mom/jeromq/JeroMqAppender.java     |   10 +-
 .../core/appender/mom/jeromq/JeroMqManager.java |  442 ++++----
 .../core/appender/mom/kafka/KafkaAppender.java  |   23 +-
 .../core/appender/mom/kafka/KafkaManager.java   |   18 +-
 .../core/appender/rewrite/RewriteAppender.java  |    7 +-
 .../rolling/AbstractTriggeringPolicy.java       |   28 +
 .../rolling/CompositeTriggeringPolicy.java      |  187 ++--
 .../appender/rolling/CronTriggeringPolicy.java  |   74 +-
 .../rolling/DefaultRolloverStrategy.java        |   40 +-
 .../log4j/core/appender/rolling/FileSize.java   |  181 +--
 .../rolling/OnStartupTriggeringPolicy.java      |   58 +-
 .../core/appender/rolling/PatternProcessor.java |   12 +-
 .../appender/rolling/RollingFileManager.java    |  113 +-
 .../rolling/RollingRandomAccessFileManager.java |   46 +-
 .../rolling/SizeBasedTriggeringPolicy.java      |  206 ++--
 .../rolling/TimeBasedTriggeringPolicy.java      |    2 +-
 .../core/appender/rolling/TriggeringPolicy.java |   10 +-
 .../rolling/action/CommonsCompressAction.java   |    9 +-
 .../appender/rolling/action/DeleteAction.java   |    2 +-
 .../core/appender/rolling/action/Duration.java  |  514 ++++-----
 .../rolling/action/FileRenameAction.java        |   97 +-
 .../core/appender/rolling/action/IfAll.java     |  232 ++--
 .../core/appender/rolling/action/IfAny.java     |  172 +--
 .../core/appender/routing/IdlePurgePolicy.java  |   82 +-
 .../core/appender/routing/PurgePolicy.java      |    6 +-
 .../log4j/core/appender/routing/Routes.java     |  176 ++-
 .../core/appender/routing/RoutingAppender.java  |  250 ++++-
 .../core/async/ArrayBlockingQueueFactory.java   |   42 +
 .../logging/log4j/core/async/AsyncLogger.java   |   53 +-
 .../log4j/core/async/AsyncLoggerConfig.java     |    8 +-
 ...syncLoggerConfigDefaultExceptionHandler.java |    4 +-
 .../core/async/AsyncLoggerConfigDisruptor.java  |   26 +-
 .../log4j/core/async/AsyncLoggerContext.java    |   14 +-
 .../AsyncLoggerDefaultExceptionHandler.java     |    4 +-
 .../log4j/core/async/AsyncLoggerDisruptor.java  |  487 +++++----
 .../log4j/core/async/BlockingQueueFactory.java  |   42 +
 .../log4j/core/async/DaemonThreadFactory.java   |   53 -
 .../core/async/DefaultAsyncQueueFullPolicy.java |   14 +-
 .../async/DisruptorBlockingQueueFactory.java    |   53 +
 .../logging/log4j/core/async/DisruptorUtil.java |    2 +-
 .../core/async/JCToolsBlockingQueueFactory.java |  198 ++++
 .../core/async/LinkedTransferQueueFactory.java  |   43 +
 .../log4j/core/async/RingBufferLogEvent.java    |   84 +-
 .../async/RingBufferLogEventTranslator.java     |   20 +-
 .../core/config/AbstractConfiguration.java      |   94 +-
 .../log4j/core/config/AppenderControl.java      |    5 +-
 .../log4j/core/config/AppendersPlugin.java      |    4 +-
 .../AwaitCompletionReliabilityStrategy.java     |  350 +++---
 ...AwaitUnconditionallyReliabilityStrategy.java |  246 ++---
 .../log4j/core/config/Configuration.java        |   22 +-
 .../core/config/ConfigurationException.java     |   14 +-
 .../log4j/core/config/ConfigurationFactory.java |  107 +-
 .../core/config/ConfigurationScheduler.java     |   78 +-
 .../log4j/core/config/ConfigurationSource.java  |    6 +-
 .../core/config/ConfiguratonFileWatcher.java    |   32 +-
 .../logging/log4j/core/config/Configurator.java |  722 ++++++------
 .../log4j/core/config/CronScheduledFuture.java  |   43 +-
 .../log4j/core/config/DefaultConfiguration.java |    2 +-
 .../core/config/DefaultReliabilityStrategy.java |  214 ++--
 .../core/config/LockingReliabilityStrategy.java |  270 ++---
 .../logging/log4j/core/config/LoggerConfig.java |  129 ++-
 .../log4j/core/config/NullConfiguration.java    |    2 +-
 .../logging/log4j/core/config/Property.java     |   16 +-
 .../core/config/ReliabilityStrategyFactory.java |  140 +--
 .../core/config/builder/api/Component.java      |    4 +-
 .../builder/api/ConfigurationBuilder.java       |   53 +-
 .../config/builder/impl/BuiltConfiguration.java |   16 +-
 .../builder/impl/DefaultComponentBuilder.java   |    4 +-
 .../impl/DefaultConfigurationBuilder.java       |  218 +++-
 .../DefaultCustomLevelComponentBuilder.java     |    2 +-
 .../impl/DefaultLoggerComponentBuilder.java     |    4 +-
 .../impl/DefaultScriptFileComponentBuilder.java |    8 +-
 .../composite/CompositeConfiguration.java       |   58 +-
 .../config/composite/DefaultMergeStrategy.java  |   92 +-
 .../core/config/json/JsonConfiguration.java     |   13 +-
 .../config/json/JsonConfigurationFactory.java   |    5 +-
 .../config/plugins/PluginBuilderFactory.java    |    1 +
 .../config/plugins/PluginConfiguration.java     |    1 +
 .../core/config/plugins/PluginFactory.java      |    2 +-
 .../log4j/core/config/plugins/PluginNode.java   |    1 +
 .../config/plugins/convert/TypeConverters.java  |    4 +-
 .../core/config/plugins/util/PluginBuilder.java |    6 +-
 .../config/plugins/util/PluginRegistry.java     |    1 -
 .../core/config/plugins/util/ResolverUtil.java  |   13 +-
 .../plugins/visitors/PluginElementVisitor.java  |    3 +
 .../plugins/visitors/PluginValueVisitor.java    |   18 +-
 .../properties/PropertiesConfiguration.java     |    8 +-
 .../PropertiesConfigurationBuilder.java         |   89 +-
 .../PropertiesConfigurationFactory.java         |   15 +-
 .../log4j/core/config/xml/XmlConfiguration.java |   56 +-
 .../config/xml/XmlConfigurationFactory.java     |    6 +-
 .../core/config/yaml/YamlConfiguration.java     |    7 +-
 .../config/yaml/YamlConfigurationFactory.java   |    5 +-
 .../log4j/core/filter/AbstractFilter.java       |   23 +-
 .../log4j/core/filter/AbstractFilterable.java   |   73 +-
 .../logging/log4j/core/filter/BurstFilter.java  |    2 +-
 .../log4j/core/filter/CompositeFilter.java      |   33 +-
 .../core/filter/DynamicThresholdFilter.java     |  107 +-
 .../log4j/core/filter/LevelRangeFilter.java     |   17 +-
 .../logging/log4j/core/filter/MapFilter.java    |   17 +-
 .../logging/log4j/core/filter/ScriptFilter.java |   16 +-
 .../core/filter/ThreadContextMapFilter.java     |   25 +-
 .../log4j/core/filter/ThresholdFilter.java      |   16 +-
 .../logging/log4j/core/filter/TimeFilter.java   |    2 +-
 .../log4j/core/impl/ContextDataFactory.java     |   95 ++
 .../core/impl/ContextDataInjectorFactory.java   |   92 ++
 .../log4j/core/impl/DefaultLogEventFactory.java |    7 +-
 .../log4j/core/impl/ExtendedClassInfo.java      |   23 +-
 .../core/impl/ExtendedStackTraceElement.java    |   46 +-
 .../log4j/core/impl/JdkMapAdapterStringMap.java |  201 ++++
 .../log4j/core/impl/Log4jContextFactory.java    |   14 +-
 .../logging/log4j/core/impl/Log4jLogEvent.java  |  150 ++-
 .../log4j/core/impl/MutableLogEvent.java        |   67 +-
 .../core/impl/ReusableLogEventFactory.java      |   28 +-
 .../core/impl/ThreadContextDataInjector.java    |  202 ++++
 .../log4j/core/impl/ThrowableFormatOptions.java |  126 ++-
 .../logging/log4j/core/impl/ThrowableProxy.java |  407 +++----
 .../ContextDataAsEntryListDeserializer.java     |   57 +
 .../ContextDataAsEntryListSerializer.java       |   58 +
 .../core/jackson/ContextDataDeserializer.java   |   65 ++
 .../core/jackson/ContextDataSerializer.java     |   64 ++
 .../log4j/core/jackson/Initializers.java        |   28 +-
 .../log4j/core/jackson/Log4jJsonModule.java     |   13 +-
 .../core/jackson/Log4jJsonObjectMapper.java     |    9 +-
 .../log4j/core/jackson/Log4jXmlModule.java      |    6 +-
 .../core/jackson/Log4jXmlObjectMapper.java      |    9 +-
 .../log4j/core/jackson/Log4jYamlModule.java     |   13 +-
 .../core/jackson/Log4jYamlObjectMapper.java     |    9 +-
 .../log4j/core/jackson/LogEventJsonMixIn.java   |  150 +++
 .../log4j/core/jackson/LogEventMixIn.java       |  138 ---
 .../jackson/LogEventWithContextListMixIn.java   |  148 +++
 .../ThrowableProxyWithoutStacktraceMixIn.java   |   77 ++
 .../log4j/core/jmx/LoggerContextAdmin.java      |    4 +-
 .../apache/logging/log4j/core/jmx/Server.java   |   31 +-
 .../log4j/core/layout/AbstractCsvLayout.java    |   10 +-
 .../core/layout/AbstractJacksonLayout.java      |    1 -
 .../log4j/core/layout/AbstractStringLayout.java |   53 +-
 .../log4j/core/layout/CsvLogEventLayout.java    |   38 +-
 .../log4j/core/layout/CsvParameterLayout.java   |    7 +-
 .../logging/log4j/core/layout/GelfLayout.java   |   66 +-
 .../logging/log4j/core/layout/HtmlLayout.java   |  123 ++-
 .../log4j/core/layout/JacksonFactory.java       |   32 +-
 .../logging/log4j/core/layout/JsonLayout.java   |   30 +-
 .../core/layout/MarkerPatternSelector.java      |   23 +-
 .../log4j/core/layout/PatternLayout.java        |   37 +-
 .../core/layout/ScriptPatternSelector.java      |   25 +-
 .../log4j/core/layout/TextEncoderHelper.java    |    4 +-
 .../logging/log4j/core/layout/XmlLayout.java    |   17 +-
 .../logging/log4j/core/layout/YamlLayout.java   |   15 +-
 .../log4j/core/lookup/ContextMapLookup.java     |   17 +-
 .../logging/log4j/core/lookup/Interpolator.java |   61 +-
 .../logging/log4j/core/lookup/JndiLookup.java   |    5 +-
 .../log4j/core/lookup/StrSubstitutor.java       |   19 +
 .../log4j/core/net/AbstractSocketManager.java   |    6 +-
 .../log4j/core/net/DatagramSocketManager.java   |   21 +-
 .../logging/log4j/core/net/JndiManager.java     |  287 ++---
 .../log4j/core/net/MulticastDnsAdvertiser.java  |    6 +-
 .../logging/log4j/core/net/SmtpManager.java     |    8 +-
 .../log4j/core/net/SslSocketManager.java        |   31 +-
 .../log4j/core/net/TcpSocketManager.java        |  106 +-
 .../core/net/server/AbstractSocketServer.java   |   88 +-
 .../log4j/core/net/server/JmsServer.java        |  286 ++---
 .../server/JsonInputStreamLogEventBridge.java   |    6 +-
 .../log4j/core/net/server/TcpSocketServer.java  |  184 ++--
 .../log4j/core/net/server/UdpSocketServer.java  |   83 +-
 .../net/ssl/AbstractKeyStoreConfiguration.java  |   38 +
 .../core/net/ssl/KeyStoreConfiguration.java     |   36 +-
 .../log4j/core/net/ssl/SslConfiguration.java    |   77 +-
 .../log4j/core/net/ssl/StoreConfiguration.java  |    3 +
 .../core/net/ssl/TrustStoreConfiguration.java   |   33 +-
 .../core/pattern/DatePatternConverter.java      |    2 +-
 .../pattern/EqualsReplacementConverter.java     |    2 +-
 .../ExtendedThrowablePatternConverter.java      |   11 +-
 .../log4j/core/pattern/HighlightConverter.java  |   38 +-
 .../log4j/core/pattern/HtmlTextRenderer.java    |   38 +
 .../log4j/core/pattern/JAnsiTextRenderer.java   |  332 ++++++
 .../pattern/LineSeparatorPatternConverter.java  |    4 +-
 .../log4j/core/pattern/MdcPatternConverter.java |  112 +-
 .../core/pattern/MessagePatternConverter.java   |   83 +-
 .../log4j/core/pattern/NameAbbreviator.java     |  104 +-
 .../log4j/core/pattern/PlainTextRenderer.java   |   40 +
 .../pattern/RootThrowablePatternConverter.java  |   10 +-
 .../pattern/SequenceNumberPatternConverter.java |    1 -
 .../log4j/core/pattern/StyleConverter.java      |   24 +-
 .../log4j/core/pattern/TextRenderer.java        |   46 +
 .../core/pattern/ThrowablePatternConverter.java |    5 +-
 .../VariablesNotEmptyReplacementConverter.java  |    2 +-
 .../log4j/core/script/AbstractScript.java       |    5 +
 .../logging/log4j/core/script/Script.java       |   10 +-
 .../logging/log4j/core/script/ScriptFile.java   |   15 +-
 .../log4j/core/script/ScriptManager.java        |   65 +-
 .../logging/log4j/core/script/ScriptRef.java    |   13 +-
 .../core/selector/BasicContextSelector.java     |  131 +--
 .../core/selector/CoreContextSelectors.java     |   25 +
 .../core/selector/JndiContextSelector.java      |    2 +-
 .../logging/log4j/core/tools/Generate.java      |    5 +-
 .../logging/log4j/core/util/ArrayUtils.java     |  124 +++
 .../apache/logging/log4j/core/util/Assert.java  |   38 -
 .../core/util/BasicCommandLineArguments.java    |   47 +
 .../logging/log4j/core/util/CachedClock.java    |    2 +-
 .../core/util/CloseShieldOutputStream.java      |    3 +
 .../apache/logging/log4j/core/util/Closer.java  |    4 +-
 .../log4j/core/util/CoarseCachedClock.java      |    2 +-
 .../logging/log4j/core/util/Constants.java      |   23 +-
 .../logging/log4j/core/util/CronExpression.java |  180 +--
 .../logging/log4j/core/util/CyclicBuffer.java   |    4 +-
 .../util/DefaultShutdownCallbackRegistry.java   |   14 +-
 .../logging/log4j/core/util/DummyNanoClock.java |   96 +-
 .../log4j/core/util/ExecutorServices.java       |   81 ++
 .../core/util/ExtensionLanguageMapping.java     |    6 +-
 .../logging/log4j/core/util/FileUtils.java      |    4 +-
 .../logging/log4j/core/util/FileWatcher.java    |    2 +-
 .../log4j/core/util/InetAddressConverter.java   |   35 +
 .../logging/log4j/core/util/JndiCloser.java     |  118 +-
 .../logging/log4j/core/util/JsonUtils.java      |   14 +-
 .../apache/logging/log4j/core/util/Loader.java  |   29 +-
 .../logging/log4j/core/util/Log4jThread.java    |  138 +--
 .../log4j/core/util/Log4jThreadFactory.java     |   93 ++
 .../log4j/core/util/NullOutputStream.java       |   20 +-
 .../log4j/core/util/OptionConverter.java        |    3 +-
 .../logging/log4j/core/util/ReflectionUtil.java |    2 +-
 .../logging/log4j/core/util/StringEncoder.java  |   14 +-
 .../logging/log4j/core/util/Throwables.java     |   60 +-
 .../logging/log4j/core/util/TypeUtil.java       |   21 +
 .../logging/log4j/core/util/WatchManager.java   |   36 +-
 .../core/util/datetime/FastDateParser.java      |   54 +-
 .../core/util/datetime/FixedDateFormat.java     |  741 +++++++------
 .../log4j/core/util/datetime/FormatCache.java   |    2 +-
 log4j-core/src/main/resources/Log4j-config.xsd  |    3 +-
 .../log4j/FilterPerformanceComparison.java      |  124 ++-
 .../log4j/FormatterLoggerManualExample.java     |    7 +-
 .../apache/logging/log4j/LogRolloverTest.java   |   18 +-
 .../logging/log4j/MarkerMixInXmlTest.java       |    2 +-
 .../logging/log4j/ThreadContextTestAccess.java  |   34 +
 .../log4j/core/BasicConfigurationFactory.java   |    6 +-
 .../apache/logging/log4j/core/DeadlockTest.java |    2 +-
 .../core/GcFreeAsynchronousLoggingTest.java     |    4 +-
 .../log4j/core/GcFreeLoggingTestUtil.java       |   35 +-
 .../core/GcFreeMixedSyncAyncLoggingTest.java    |    4 +-
 .../core/GcFreeSynchronousLoggingTest.java      |    4 +-
 .../apache/logging/log4j/core/HostNameTest.java |    4 +-
 .../logging/log4j/core/Log4j1222Test.java       |    2 +-
 .../apache/logging/log4j/core/LogEventTest.java |    4 +-
 .../apache/logging/log4j/core/LoggerTest.java   |   14 +-
 .../logging/log4j/core/LoggerUpdateTest.java    |    2 +-
 .../logging/log4j/core/PatternSelectorTest.java |   32 +-
 .../log4j/core/PropertiesFileConfigTest.java    |    2 +-
 .../core/ShutdownTimeoutConfigurationTest.java  |   44 +
 .../logging/log4j/core/StrictXmlConfigTest.java |    1 -
 .../AsyncAppenderQueueFullPolicyTest.java       |   48 +-
 .../log4j/core/appender/AsyncAppenderTest.java  |   46 +-
 .../ConsoleAppenderAnsiMessagesMain.java        |  110 +-
 .../ConsoleAppenderAnsiStyleJira180Main.java    |  119 +-
 .../ConsoleAppenderAnsiStyleJira272Main.java    |  121 +-
 .../ConsoleAppenderAnsiStyleJira319Main.java    |  123 ++-
 .../ConsoleAppenderAnsiStyleLayoutMain.java     |  131 ++-
 .../ConsoleAppenderAnsiStyleNameLayoutMain.java |   11 +-
 .../appender/ConsoleAppenderBuilderTest.java    |   49 +
 ...nsoleAppenderDefaultSuppressedThrowable.java |  131 ++-
 ...nsoleAppenderHighlightLayoutDefaultMain.java |   11 +-
 ...nsoleAppenderHighlightLayoutLogbackMain.java |   11 +-
 .../ConsoleAppenderHighlightLayoutMain.java     |   11 +-
 .../ConsoleAppenderJAnsiMessageMain.java        |   79 ++
 .../ConsoleAppenderJAnsiXExceptionMain.java     |   76 ++
 .../ConsoleAppenderNoAnsiStyleLayoutMain.java   |  145 ++-
 .../core/appender/ConsoleAppenderTest.java      |   43 +-
 .../CsvJsonParameterLayoutFileAppenderTest.java |  117 ++
 .../core/appender/FileAppenderBuilderTest.java  |   31 +
 .../log4j/core/appender/FileAppenderTest.java   |  342 +++---
 .../log4j/core/appender/HangingAppender.java    |   21 +-
 .../core/appender/InMemoryAppenderTest.java     |    4 +-
 .../log4j/core/appender/Jira739Test.java        |  103 +-
 .../appender/JsonCompleteFileAppenderTest.java  |   37 +-
 .../appender/MemoryMappedFileManagerTest.java   |   25 +-
 .../core/appender/OutputStreamAppenderTest.java |  213 ++--
 .../core/appender/ProgressConsoleTest.java      |    7 +-
 .../appender/RandomAccessFileAppenderTests.java |    2 +-
 .../appender/RandomAccessFileManagerTest.java   |   26 +-
 .../appender/ScriptAppenderSelectorTest.java    |  100 ++
 .../appender/SocketAppenderBufferSizeTest.java  |   77 ++
 .../appender/SocketAppenderBuilderTest.java     |   32 +
 .../log4j/core/appender/SocketAppenderTest.java |  254 +++--
 .../core/appender/SyslogAppenderTestBase.java   |    2 +-
 .../appender/XmlCompleteFileAppenderTest.java   |   68 +-
 .../db/AbstractDatabaseAppenderTest.java        |  145 +--
 .../db/AbstractDatabaseManagerTest.java         |  356 +++---
 .../db/jdbc/AbstractJdbcAppenderTest.java       |   34 +-
 .../db/jdbc/DataSourceConnectionSourceTest.java |   17 +-
 .../jdbc/FactoryMethodConnectionSourceTest.java |   53 +-
 .../db/jpa/AbstractJpaAppenderTest.java         |   14 +-
 .../core/appender/db/jpa/JpaH2AppenderTest.java |   28 +-
 .../db/jpa/JpaHyperSqlAppenderTest.java         |   28 +-
 .../core/appender/db/jpa/TestBaseEntity.java    |    7 +
 .../ContextDataAttributeConverterTest.java      |   70 ++
 .../ContextDataJsonAttributeConverterTest.java  |   84 ++
 .../ContextStackJsonAttributeConverterTest.java |   19 +-
 .../log4j/core/appender/mom/JmsAppenderIT.java  |    2 +-
 .../appender/mom/jeromq/JeroMqAppenderTest.java |  263 ++---
 .../appender/mom/kafka/KafkaAppenderTest.java   |  292 ++---
 .../core/appender/rolling/FileSizeTest.java     |    4 +-
 .../rolling/OnStartupTriggeringPolicyTest.java  |   96 +-
 .../RandomRollingAppenderOnStartupTest.java     |  105 ++
 .../RollingAppenderCronOnceADayTest.java        |  125 +++
 .../rolling/RollingAppenderCronTest.java        |   73 +-
 .../RollingAppenderCustomDeleteActionTest.java  |   40 +-
 ...lingAppenderDeleteAccumulatedCount1Test.java |   53 +-
 ...lingAppenderDeleteAccumulatedCount2Test.java |   53 +-
 ...ollingAppenderDeleteAccumulatedSizeTest.java |   32 +-
 .../RollingAppenderDeleteMaxDepthTest.java      |   52 +-
 .../RollingAppenderDeleteNestedTest.java        |   53 +-
 .../RollingAppenderDeleteScriptFri13thTest.java |   37 +-
 .../RollingAppenderDeleteScriptTest.java        |   35 +-
 ...ollingAppenderNoUnconditionalDeleteTest.java |   12 +-
 .../rolling/RollingAppenderOnStartupTest.java   |  105 ++
 .../rolling/RollingAppenderSizeTest.java        |  115 +-
 .../rolling/RollingAppenderTimeAndSizeTest.java |   31 +-
 .../rolling/RollingAppenderTimeTest.java        |   36 +-
 .../RollingAppenderUncompressedTest.java        |   28 +-
 .../rolling/RollingFileAppenderAccessTest.java  |   58 +-
 .../rolling/RollingFileAppenderBuilderTest.java |   32 +
 .../rolling/RollingFileAppenderLayoutTest.java  |   39 +
 ...RandomAccessFileManagerHeaderFooterTest.java |   30 +-
 .../RollingRandomAccessFileManagerTest.java     |  155 ++-
 .../rolling/action/CountingCondition.java       |  124 +--
 .../rolling/action/DeleteActionTest.java        |  238 ++--
 .../rolling/action/DeletingVisitorTest.java     |  270 ++---
 .../appender/rolling/action/DurationTest.java   |  298 ++---
 .../appender/rolling/action/FixedCondition.java |   88 +-
 .../action/IfAccumulatedFileCountTest.java      |  150 +--
 .../action/IfAccumulatedFileSizeTest.java       |  260 ++---
 .../rolling/action/IfLastModifiedTest.java      |  194 ++--
 .../action/PathSortByModificationTimeTest.java  |  186 ++--
 .../rolling/action/ScriptConditionTest.java     |  260 ++---
 .../rolling/action/SortingVisitorTest.java      |  188 ++--
 .../routing/DefaultRouteScriptAppenderTest.java |  152 +++
 .../routing/JsonRoutingAppender2Test.java       |   16 +-
 .../routing/JsonRoutingAppenderTest.java        |   16 +-
 .../routing/PropertiesRoutingAppenderTest.java  |   23 +-
 .../routing/RoutesScriptAppenderTest.java       |  159 +++
 .../appender/routing/RoutingAppenderTest.java   |   11 +-
 .../routing/RoutingAppenderWithJndiTest.java    |    6 +-
 .../routing/RoutingAppenderWithPurgingTest.java |   45 +-
 .../routing/RoutingDefaultAppenderTest.java     |   32 +-
 .../AbstractAsyncThreadContextTestBase.java     |  188 ++++
 .../async/AsyncLoggerClassLoadDeadlock.java     |   32 +
 .../async/AsyncLoggerClassLoadDeadlockTest.java |   45 +
 .../log4j/core/async/AsyncLoggerConfigTest.java |    8 +-
 ...oggerConfigThreadContextCopyOnWriteTest.java |   26 +
 ...yncLoggerConfigThreadContextDefaultTest.java |   26 +
 ...oggerConfigThreadContextGarbageFreeTest.java |   26 +
 .../core/async/AsyncLoggerTestNanoTime.java     |    2 +-
 ...AsyncLoggerThreadContextCopyOnWriteTest.java |   40 +
 .../AsyncLoggerThreadContextDefaultTest.java    |   40 +
 ...AsyncLoggerThreadContextGarbageFreeTest.java |   40 +
 .../async/AsyncQueueFullPolicyFactoryTest.java  |    4 +-
 .../async/DefaultAsyncQueueFullPolicyTest.java  |   10 +-
 .../DiscardingAsyncQueueFullPolicyTest.java     |   30 +-
 .../core/async/RingBufferLogEventTest.java      |   41 +-
 .../core/async/perftest/AbstractRunQueue.java   |   91 ++
 .../core/async/perftest/PerfTestDriver.java     |    4 +-
 .../core/async/perftest/ResponseTimeTest.java   |   43 +-
 .../core/async/perftest/RunConversant.java      |   31 +
 .../log4j/core/async/perftest/RunJCTools.java   |   32 +
 .../core/async/perftest/SimplePerfTest.java     |   28 +-
 .../core/config/AbstractLog4j2_1100Test.java    |  136 +--
 .../config/AppenderControlArraySetTest.java     |   12 +-
 .../core/config/CompositeConfigurationTest.java |   74 +-
 .../log4j/core/config/ConfigurationTest.java    |    8 +-
 .../log4j/core/config/ConfiguratorTest.java     |   91 +-
 .../core/config/CustomConfigurationTest.java    |   16 +-
 .../log4j/core/config/LoggerConfigTest.java     |  102 ++
 .../core/config/MissingRootLoggerTest.java      |    2 +-
 .../logging/log4j/core/config/PropertyTest.java |   85 ++
 .../log4j/core/config/TestConfigurator.java     |   44 +-
 .../core/config/TestConfiguratorError.java      |   13 +-
 .../logging/log4j/core/config/XIncludeTest.java |    2 +-
 .../builder/ConfigurationAssemblerTest.java     |   48 +-
 .../builder/ConfigurationBuilderTest.java       |   99 ++
 .../builder/CustomConfigurationFactory.java     |   24 +-
 .../plugins/util/PluginManagerPackagesTest.java |   12 +-
 .../util/ResolverUtilCustomProtocolTest.java    |  210 ++++
 .../config/plugins/util/ResolverUtilTest.java   |  132 ++-
 .../AbstractPluginWithGenericBuilder.java       |   59 +
 .../PluginWithGenericSubclassFoo1Builder.java   |   71 ++
 .../plugins/validation/ValidatingPlugin.java    |    2 +-
 .../ValidatingPluginWithGenericBuilder.java     |   75 ++
 .../ValidatingPluginWithTypedBuilder.java       |   70 ++
 .../validators/RequiredValidatorTest.java       |    1 +
 .../ValidatingPluginWithGenericBuilderTest.java |   66 ++
 ...luginWithGenericSubclassFoo1BuilderTest.java |   68 ++
 .../ValidatingPluginWithTypedBuilderTest.java   |   71 ++
 ...opertiesConfigurationRootLoggerOnlyTest.java |   10 +-
 .../properties/PropertiesConfigurationTest.java |   10 +-
 .../properties/RollingFilePropertiesTest.java   |   10 +-
 .../core/config/xml/XmlLoggerPropsTest.java     |    8 +-
 .../log4j/core/filter/AbstractFilterTest.java   |   88 ++
 .../core/filter/AbstractFilterableTest.java     |  287 +++++
 .../core/filter/AbstractScriptFilterTest.java   |    8 +-
 .../log4j/core/filter/BurstFilterTest.java      |  283 +++--
 .../core/filter/DynamicThresholdFilterTest.java |   47 +-
 .../log4j/core/filter/LevelRangeFilterTest.java |    9 +
 ...actoryPropertySetMissingConstructorTest.java |   41 +
 .../impl/ContextDataFactoryPropertySetTest.java |   49 +
 .../log4j/core/impl/ContextDataFactoryTest.java |   47 +
 .../log4j/core/impl/FactoryTestStringMap.java   |  104 ++
 ...ctoryTestStringMapWithoutIntConstructor.java |  100 ++
 .../core/impl/JdkMapAdapterStringMapTest.java   |  883 +++++++++++++++
 .../core/impl/Log4jLogEventNanoTimeTest.java    |    2 +-
 .../log4j/core/impl/Log4jLogEventTest.java      |   96 +-
 .../log4j/core/impl/MutableLogEventTest.java    |   42 +-
 .../impl/NestedLoggingFromToStringTest.java     |  132 +++
 .../core/impl/ReusableLogEventFactoryTest.java  |   42 +-
 .../core/impl/ThrowableFormatOptionsTest.java   |  211 +++-
 .../log4j/core/impl/ThrowableProxyTest.java     |   62 +-
 .../log4j/core/jackson/LevelMixInJsonTest.java  |    2 +-
 .../jackson/StackTraceElementMixInTest.java     |    3 +-
 .../core/layout/AbstractStringLayoutTest.java   |   72 ++
 .../core/layout/CsvLogEventLayoutTest.java      |  342 +++---
 .../layout/CsvParameterLayoutAllAsyncTest.java  |    7 +-
 .../core/layout/CsvParameterLayoutTest.java     |  345 +++---
 .../log4j/core/layout/GelfLayoutTest.java       |   18 +-
 .../log4j/core/layout/HtmlLayoutTest.java       |    9 +-
 .../log4j/core/layout/JsonLayoutTest.java       |   96 +-
 .../log4j/core/layout/Log4j2_1482_CoreTest.java |   36 +
 .../log4j/core/layout/Log4j2_1482_Test.java     |   89 ++
 .../log4j/core/layout/LogEventFixtures.java     |   10 +-
 .../layout/PatternLayoutLookupDateTest.java     |   44 +
 .../layout/PatternLayoutMainMapLookupTest.java  |  128 +--
 .../layout/PatternLayoutNoLookupDateTest.java   |   42 +
 .../log4j/core/layout/PatternLayoutTest.java    |   35 +-
 .../log4j/core/layout/PatternSelectorTest.java  |  130 +--
 .../log4j/core/layout/Rfc5424LayoutTest.java    |   25 +-
 .../log4j/core/layout/SerializedLayoutTest.java |    9 +-
 .../core/layout/SpyByteBufferDestination.java   |    2 +-
 .../core/layout/StringBuilderEncoderTest.java   |    6 +-
 .../log4j/core/layout/SyslogLayoutTest.java     |   11 +-
 .../log4j/core/layout/XmlLayoutTest.java        |   68 +-
 .../log4j/core/layout/YamlLayoutTest.java       |   64 +-
 .../log4j/core/lookup/Log4jLookupTest.java      |   33 +-
 .../core/lookup/Log4jLookupWithSpacesTest.java  |   35 +-
 .../lookup/MainInputArgumentsLookupTest.java    |   11 +-
 .../lookup/MainInputArgumentsMapLookup.java     |    2 +-
 .../core/lookup/ResourceBundleLookupTest.java   |    4 +-
 .../log4j/core/net/SocketReconnectTest.java     |   12 +-
 .../core/net/mock/MockUdpSyslogServer.java      |    6 +-
 .../net/server/AbstractSocketServerTest.java    |   30 +-
 .../core/net/server/SslXmlSocketServerTest.java |   23 +-
 .../server/UdpSerializedSocketServerTest.java   |    2 +
 .../core/net/ssl/KeyStoreConfigurationTest.java |    2 +-
 .../core/net/ssl/SslConfigurationTest.java      |    4 +-
 .../net/ssl/TrustStoreConfigurationTest.java    |    2 +-
 .../osgi/equinox/EquinoxLoadCoreBundleTest.java |    6 +-
 .../osgi/felix/FelixLoadCoreBundleTest.java     |    4 +
 .../core/pattern/DatePatternConverterTest.java  |   24 +-
 ...qualsIgnoreCaseReplacementConverterTest.java |    2 +-
 .../pattern/EqualsReplacementConverterTest.java |    2 +-
 .../core/pattern/HighlightConverterTest.java    |   78 ++
 .../core/pattern/MdcPatternConverterTest.java   |   29 +-
 .../core/pattern/MessageJansiConverterTest.java |   62 ++
 .../pattern/MessagePatternConverterTest.java    |   17 +-
 .../pattern/MessageStyledConverterTest.java     |   62 ++
 .../core/pattern/NdcPatternConverterTest.java   |   77 ++
 .../log4j/core/pattern/NoConsoleNoAnsiTest.java |    4 +-
 .../log4j/core/pattern/PatternParserTest.java   |   24 +-
 .../pattern/RegexReplacementConverterTest.java  |    4 +-
 .../core/pattern/RegexReplacementTest.java      |   23 +-
 .../SequenceNumberPatternConverterTest.java     |   51 +
 .../log4j/core/pattern/StyleConverterTest.java  |    4 +-
 ...riablesNotEmptyReplacementConverterTest.java |    2 +-
 .../log4j/core/util/CronExpressionTest.java     |   32 +-
 .../logging/log4j/core/util/Profiler.java       |    5 +-
 .../core/util/ShutdownCallbackRegistryTest.java |    2 +-
 .../logging/log4j/core/util/ThrowablesTest.java |    4 +-
 .../log4j/core/util/WatchManagerTest.java       |   20 +-
 .../core/util/datetime/FixedDateFormatTest.java |   35 +-
 .../junit/AbstractExternalFileCleaner.java      |  151 +++
 .../apache/logging/log4j/junit/CleanFiles.java  |   62 +-
 .../logging/log4j/junit/CleanFolders.java       |   76 ++
 .../logging/log4j/junit/LoggerContextRule.java  |  216 ++--
 .../junit/URLStreamHandlerFactoryRule.java      |   97 ++
 ...MutableLogEventWithReusableParamMsgTest.java |   53 +
 .../logging/log4j/test/ExtendedLevels.java      |    2 +-
 .../log4j/test/appender/AlwaysFailAppender.java |    3 +-
 .../log4j/test/appender/BlockingAppender.java   |   18 +-
 .../log4j/test/appender/DeadlockAppender.java   |   12 +-
 .../test/appender/EncodingListAppender.java     |   12 +-
 .../log4j/test/appender/FailOnceAppender.java   |    3 +-
 .../log4j/test/appender/InMemoryAppender.java   |    7 +-
 .../log4j/test/appender/ListAppender.java       |   93 +-
 .../test/appender/UsesLoggingAppender.java      |    3 +-
 .../logging/log4j/test/layout/BasicLayout.java  |    6 +-
 .../AsyncLoggerConfigThreadContextTest.xml      |   50 +
 .../test/resources/AsyncLoggerConsoleTest.xml   |   16 +
 .../resources/AsyncLoggerThreadContextTest.xml  |    8 +-
 .../BlockingQueueFactory-ArrayBlockingQueue.xml |   40 +
 ...ckingQueueFactory-DisruptorBlockingQueue.xml |   40 +
 ...lockingQueueFactory-JCToolsBlockingQueue.xml |   40 +
 ...BlockingQueueFactory-LinkedTransferQueue.xml |   40 +
 .../src/test/resources/JeroMqAppenderTest.xml   |   62 +-
 .../SequenceNumberPatternConverterTest.yml      |   15 +
 .../src/test/resources/configPropertyTest.xml   |   38 +
 log4j-core/src/test/resources/gcFreeLogging.xml |   17 +-
 .../resources/gcFreeMixedSyncAsyncLogging.xml   |   20 +-
 .../src/test/resources/log4j-advertiser.xml     |    4 +-
 .../log4j-appender-selector-groovy.xml          |   35 +
 .../log4j-appender-selector-javascript.xml      |   35 +
 .../test/resources/log4j-asynch-queue-full.xml  |    4 +-
 .../log4j-comp-logger-attr-override.json        |   38 +
 .../test/resources/log4j-comp-logger-root.xml   |   44 +
 .../src/test/resources/log4j-comp-logger.json   |    8 +-
 .../test/resources/log4j-comp-root-loggers.xml  |   46 +
 log4j-core/src/test/resources/log4j-console.xml |   29 +
 .../src/test/resources/log4j-customLevel.xml    |    7 +-
 .../test/resources/log4j-cvs-json-parameter.xml |   32 +
 log4j-core/src/test/resources/log4j-empty.xml   |   20 +
 .../src/test/resources/log4j-list-nolookups.xml |   29 +
 .../src/test/resources/log4j-loggerprops.xml    |    4 +-
 .../src/test/resources/log4j-message-ansi.xml   |   34 +
 .../src/test/resources/log4j-message-styled.xml |   34 +
 .../test/resources/log4j-rolling-7z-lazy.xml    |   59 +
 .../src/test/resources/log4j-rolling-7z.xml     |   58 +
 .../test/resources/log4j-rolling-bzip2-lazy.xml |   60 +
 .../resources/log4j-rolling-cron-once-a-day.xml |   47 +
 .../src/test/resources/log4j-rolling-cron.xml   |    2 +-
 .../src/test/resources/log4j-rolling-cron2.xml  |    2 +-
 .../resources/log4j-rolling-deflate-lazy.xml    |   60 +
 .../test/resources/log4j-rolling-gz-lazy.xml    |   59 +
 .../resources/log4j-rolling-pack200-lazy.xml    |   60 +
 .../test/resources/log4j-rolling-xz-lazy.xml    |   60 +
 .../test/resources/log4j-rolling-zip-lazy.xml   |   60 +
 .../src/test/resources/log4j-rolling.properties |   24 +-
 ...og4j-routing-default-route-script-groovy.xml |   40 +
 ...-routing-default-route-script-javascript.xml |   40 +
 .../log4j-routing-routes-script-groovy.xml      |   40 +
 .../log4j-routing-routes-script-javascript.xml  |   40 +
 .../log4j-routing-script-staticvars-groovy.xml  |   50 +
 ...g4j-routing-script-staticvars-javascript.xml |   50 +
 log4j-core/src/test/resources/log4j-style.xml   |    4 +-
 .../src/test/resources/log4j-sync-to-list.xml   |   35 +
 .../resources/log4j-test-shutdownTimeout.xml    |   38 +
 log4j-core/src/test/resources/log4j-test4.xml   |   36 +
 log4j-core/src/test/resources/log4j-test5.xml   |   36 +
 log4j-core/src/test/resources/log4j2-1482.xml   |   27 +
 log4j-core/src/test/resources/log4j2-1573.xml   |   12 +
 .../test/resources/log4j2-console-msg-ansi.xml  |   31 +
 .../log4j2-console-xex-ansi-custom.xml          |   31 +
 .../resources/log4j2-console-xex-ansi-kirk.xml  |   31 +
 .../test/resources/log4j2-console-xex-ansi.xml  |   31 +
 .../test/resources/log4j2-properties.properties |    1 +
 log4j-distribution/.gitignore                   |    2 -
 log4j-distribution/pom.xml                      |   24 +-
 log4j-flume-ng/.gitignore                       |    4 -
 log4j-flume-ng/pom.xml                          |    3 +-
 .../flume/appender/AbstractFlumeManager.java    |    2 +-
 .../log4j/flume/appender/FlumeAppender.java     |   56 +-
 .../log4j/flume/appender/FlumeAvroManager.java  |    6 +-
 .../flume/appender/FlumeEmbeddedManager.java    |  554 +++++-----
 .../log4j/flume/appender/FlumeEvent.java        |   10 +
 .../log4j/flume/appender/FlumeEventFactory.java |    3 +-
 .../flume/appender/FlumePersistentManager.java  |   90 +-
 .../log4j/flume/appender/FlumeAppenderTest.java |   50 +-
 .../flume/appender/FlumeEmbeddedAgentTest.java  |    4 +-
 .../appender/FlumeEmbeddedAppenderTest.java     |    4 +-
 .../appender/FlumePersistentAppenderTest.java   |    4 +-
 .../flume/appender/FlumePersistentPerf.java     |    4 +-
 log4j-iostreams/.gitignore                      |  Bin 69 -> 0 bytes
 log4j-iostreams/pom.xml                         |    6 +-
 .../io/AbstractLoggerOutputStreamTest.java      |   15 +-
 .../log4j/io/AbstractLoggerWriterTest.java      |   15 +-
 log4j-jcl/.gitignore                            |    4 -
 log4j-jcl/pom.xml                               |    2 +-
 .../apache/logging/log4j/jcl/LoggerTest.java    |  130 +--
 log4j-jmx-gui/.gitignore                        |    4 -
 log4j-jmx-gui/pom.xml                           |    3 +-
 log4j-jul/.gitignore                            |    3 -
 log4j-jul/pom.xml                               |    3 +-
 .../org/apache/logging/log4j/jul/Constants.java |    1 +
 .../logging/log4j/jul/CoreLoggerAdapter.java    |    7 +-
 .../logging/log4j/jul/AbstractLoggerTest.java   |    4 +-
 log4j-liquibase/.gitignore                      |    3 -
 log4j-liquibase/pom.xml                         |    2 +-
 .../ext/logging/log4j2/LoggingTest.java         |   12 +-
 log4j-nosql/.gitignore                          |    4 -
 log4j-nosql/pom.xml                             |   13 +-
 .../log4j/nosql/appender/NoSqlAppender.java     |    3 +-
 .../nosql/appender/NoSqlDatabaseManager.java    |    7 +-
 .../nosql/appender/couchdb/CouchDbProvider.java |    4 +-
 .../nosql/appender/mongodb/MongoDbProvider.java |   10 +-
 .../log4j/nosql/appender/NoSqlAppenderTest.java |   30 +-
 .../appender/NoSqlDatabaseManagerTest.java      |  434 +++-----
 log4j-perf/.gitignore                           |    4 -
 log4j-perf/perf.txt                             |   23 -
 log4j-perf/pom.xml                              |   10 +-
 .../log4j/ThreadContextBenchmarkAccess.java     |   34 +
 .../message/ParameterFormatterBenchmark.java    |   40 +-
 ...ractStringLayoutStringEncodingBenchmark.java |   34 +-
 .../perf/jmh/AsyncAppenderLog4j2Benchmark.java  |   37 +-
 .../AsyncAppenderLog4j2LocationBenchmark.java   |   25 +-
 .../perf/jmh/AsyncAppenderLogbackBenchmark.java |    1 -
 .../AsyncAppenderLogbackLocationBenchmark.java  |    2 -
 .../perf/jmh/AsyncLoggersLocationBenchmark.java |    2 -
 .../log4j/perf/jmh/CollectionsBenchmark.java    |   12 +-
 .../log4j/perf/jmh/FileAppenderBenchmark.java   |   10 +-
 .../perf/jmh/FileAppenderParamsBenchmark.java   |   10 +-
 .../log4j/perf/jmh/JdbcAppenderBenchmark.java   |    4 +-
 .../log4j/perf/jmh/JpaAppenderBenchmark.java    |    4 +-
 .../jmh/Log4j2AppenderComparisonBenchmark.java  |   24 +-
 .../log4j/perf/jmh/LoggerConfigBenchmark.java   |    2 +-
 .../log4j/perf/jmh/MDCFilterBenchmark.java      |   14 +-
 .../jmh/MemoryHandlerJULLocationBenchmark.java  |    4 +-
 .../perf/jmh/ParameterizedMessageBenchmark.java |    2 +-
 .../ParameterizedMessageInliningBenchmark.java  |   20 +-
 .../jmh/PatternLayoutComparisonBenchmark.java   |    2 +-
 .../perf/jmh/SortedArrayVsHashMapBenchmark.java |  239 ++++
 .../log4j/perf/jmh/StringEncodingBenchmark.java |   30 +-
 .../perf/jmh/TextEncoderHelperBenchmark.java    |   12 +-
 .../log4j/perf/jmh/ThreadContextBenchmark.java  |  201 ++++
 ...ThreadLocalVsConcurrentHashMapBenchmark.java |    6 +-
 .../perf/jmh/ThreadLocalVsPoolBenchmark.java    |   16 +-
 .../perf/jmh/ThreadsafeDateFormatBenchmark.java |   10 +-
 .../logging/log4j/perf/jmh/UnboxBenchmark.java  |   91 ++
 .../log4j/perf/jmh/VarargsBenchmark.java        |    6 +-
 .../logging/log4j/perf/nogc/AbstractLogger.java |    6 +-
 .../logging/log4j/perf/nogc/ClassicLogger.java  |    2 +-
 .../logging/log4j/perf/nogc/DemoAppender.java   |   12 +-
 .../logging/log4j/perf/nogc/NoGcLayout.java     |   16 +-
 .../logging/log4j/perf/nogc/NoGcLogger.java     |    2 +-
 .../logging/log4j/perf/nogc/NoGcMessage.java    |   10 +-
 .../log4j/perf/nogc/OpenHashStringMap.java      |  938 ++++++++++++++++
 .../log4j/perf/nogc/ParameterizedMessage.java   |    6 +-
 .../apache/logging/log4j/perf/nogc/Test.java    |   24 +-
 .../logging/log4j/perf/util/DemoAppender.java   |   10 +-
 .../CopyOnWriteOpenHashMapThreadContextMap.java |   46 +
 .../GarbageFreeOpenHashMapThreadContextMap.java |   49 +
 .../resources/log4j2-appenderComparison.xml     |    6 +
 .../perf5AsyncApndDsrptrNoLoc-noOpAppender.xml  |   32 +
 ...perf5AsyncApndDsrptrWithLoc-noOpAppender.xml |   32 +
 .../perf5AsyncApndMpscQNoLoc-noOpAppender.xml   |   32 +
 .../perf5AsyncApndMpscQWithLoc-noOpAppender.xml |   32 +
 .../perf5AsyncApndNoLoc-noOpAppender.xml        |    1 +
 .../perf5AsyncApndXferQNoLoc-noOpAppender.xml   |   32 +
 .../perf5AsyncApndXferQWithLoc-noOpAppender.xml |   32 +
 log4j-samples/.gitignore                        |    5 -
 log4j-samples/configuration/pom.xml             |    2 +-
 .../configuration/CustomConfiguration.java      |   13 +-
 .../CustomConfigurationFactory.java             |   12 +-
 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 +-
 .../logging/log4j/lookup/CustomLookup.java      |    8 +-
 .../logging/log4j/lookup/CustomMapMessage.java  |    2 +-
 .../logging/log4j/lookup/MapMessageLookup.java  |   10 +-
 .../logging/log4j/CustomPropertiesTest.java     |    8 +-
 log4j-samples/pom.xml                           |    3 +-
 log4j-samples/scala-api/.gitignore              |    3 +
 log4j-samples/scala-api/pom.xml                 |   65 ++
 .../scala-api/src/main/resources/log4j2.xml     |   32 +
 .../logging/log4j/scalasample/LoggingApp.scala  |   47 +
 log4j-slf4j-impl/.gitignore                     |    4 -
 log4j-slf4j-impl/pom.xml                        |    7 +-
 .../org/apache/logging/slf4j/Log4j1222Test.java |    1 -
 .../logging/slf4j/Log4j2_1482_Slf4jTest.java    |   41 +
 .../org/apache/logging/slf4j/LoggerTest.java    |  364 +++----
 .../org/apache/logging/slf4j/OptionalTest.java  |  138 +--
 .../src/test/resources/log4j2-1482.xml          |   27 +
 log4j-taglib/.gitignore                         |    4 -
 log4j-taglib/pom.xml                            |    2 +-
 .../log4j/taglib/Log4jTaglibLoggerContext.java  |    4 +-
 log4j-to-slf4j/.gitignore                       |    4 -
 log4j-to-slf4j/pom.xml                          |    2 +-
 .../org/apache/logging/slf4j/MDCContextMap.java |   33 +-
 .../logging/slf4j/SLF4JLoggerContext.java       |    4 +-
 log4j-web/.gitignore                            |    4 -
 log4j-web/pom.xml                               |    7 +-
 .../log4j/web/Log4jServletContextListener.java  |   42 +-
 .../log4j/web/Log4jWebInitializerImpl.java      |  550 +++++-----
 .../log4j/web/ServletRequestThreadContext.java  |   24 +-
 .../org/apache/logging/log4j/web/WebLookup.java |    8 -
 .../log4j/web/appender/ServletAppender.java     |  104 +-
 log4j-web/src/site/xdoc/index.xml               |   16 -
 .../Log4jServletContainerInitializerTest.java   |  164 ++-
 .../web/Log4jServletContextListenerTest.java    |   58 +-
 .../log4j/web/Log4jServletFilterTest.java       |  114 +-
 .../log4j/web/Log4jWebInitializerImplTest.java  |  367 ++-----
 .../logging/log4j/web/ServletAppenderTest.java  |    1 +
 .../resources/WEB-INF/classes/log4j-servlet.xml |   64 +-
 pom.xml                                         |  127 ++-
 src/changes/announcement.vm                     |   50 +-
 src/changes/changes.xml                         |  451 +++++++-
 src/site/apt/download.apt.vm                    |   15 +
 .../resources/images/IntelliJ-IDEA-logo.png     |  Bin 0 -> 4299 bytes
 src/site/resources/images/logo.png              |  Bin 0 -> 36964 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-2.6.2.png   |  Bin 0 -> 40736 bytes
 src/site/resources/logo/logo-java-2-2.6.2.xcf   |  Bin 0 -> 66719 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
 .../resources/logo/logo-lightning-2.6.1.png     |  Bin 0 -> 41622 bytes
 .../resources/logo/logo-lightning-2.6.1.xcf     |  Bin 0 -> 65630 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
 .../resources/logo/logo-pool-bottom-2.7.png     |  Bin 0 -> 36964 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/resources/logo/logo.jpg                |  Bin 0 -> 14818 bytes
 src/site/site.vm                                |    8 +-
 src/site/site.xml                               |   21 +-
 src/site/xdoc/articles.xml                      |  100 +-
 src/site/xdoc/faq.xml                           |   71 +-
 src/site/xdoc/index.xml                         |  142 ---
 src/site/xdoc/index.xml.vm                      |  164 +++
 src/site/xdoc/javadoc.xml                       |    4 +
 src/site/xdoc/manual/appenders.xml              |  388 ++++++-
 src/site/xdoc/manual/async.xml                  |   13 +-
 src/site/xdoc/manual/configuration.xml.vm       |  192 +++-
 src/site/xdoc/manual/customconfig.xml           |   10 +-
 src/site/xdoc/manual/customloglevels.xml.vm     |    6 +
 src/site/xdoc/manual/extending.xml              |  153 ++-
 src/site/xdoc/manual/filters.xml                |   19 +-
 src/site/xdoc/manual/garbagefree.xml            |   47 +-
 src/site/xdoc/manual/index.xml                  |    2 +-
 src/site/xdoc/manual/layouts.xml.vm             |  192 +++-
 src/site/xdoc/manual/lookups.xml                |   18 +-
 src/site/xdoc/manual/messages.xml               |   38 +-
 src/site/xdoc/manual/plugins.xml                |    2 +-
 src/site/xdoc/manual/scala-api.xml              |   91 ++
 src/site/xdoc/manual/thread-context.xml         |   16 +
 src/site/xdoc/manual/webapp.xml                 |   26 +
 src/site/xdoc/maven-artifacts.xml.vm            |   32 +
 src/site/xdoc/runtime-dependencies.xml          |   22 +-
 1048 files changed, 46346 insertions(+), 16888 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/39e28336/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/mom/kafka/KafkaManager.java
----------------------------------------------------------------------
diff --cc 
log4j-core/src/main/java/org/apache/logging/log4j/core/appender/mom/kafka/KafkaManager.java
index dab2c4e,ded641c..fdfc033
--- 
a/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/mom/kafka/KafkaManager.java
+++ 
b/log4j-core/src/main/java/org/apache/logging/log4j/core/appender/mom/kafka/KafkaManager.java
@@@ -55,9 -56,31 +56,18 @@@ public class KafkaManager extends Abstr
      }
  
      @Override
-     public void releaseSub() {
+     public boolean releaseSub(final long timeout, final TimeUnit timeUnit) {
+         if (timeout > 0) {
+             closeProducer(timeout, timeUnit);
+         } else {
+             closeProducer(timeoutMillis, TimeUnit.MILLISECONDS);
+         }
+         return true;
+     }
+ 
+     private void closeProducer(final long timeout, final TimeUnit timeUnit) {
          if (producer != null) {
 -            // This thread is a workaround for this Kafka issue: 
https://issues.apache.org/jira/browse/KAFKA-1660
 -            final Runnable task = new Runnable() {
 -                @Override
 -                public void run() {
 -                    if (producer != null) {
 -                        producer.close();
 -                    }
 -                }
 -            };
 -            try {
 -                getLoggerContext().submitDaemon(task).get(timeout, timeUnit);
 -            } catch (InterruptedException | ExecutionException | 
TimeoutException e) {
 -                // ignore
 -            }
 +            producer.close(timeoutMillis, TimeUnit.MILLISECONDS);
          }
      }
  

Reply via email to