You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@logging.apache.org by ma...@apache.org on 2022/03/20 21:17:26 UTC

[logging-log4j2] branch master updated (8e5df97 -> 09149ad)

This is an automated email from the ASF dual-hosted git repository.

mattsicker pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git.


    from 8e5df97  Fix Log4j2SpringBootInitTest.
     add adad882  [LOG4J2-2854] - Create standardized dependency injection API
     add 1f4f500  Remove unnecessary lines
     add 16b7af4  Add docs
     add b6f7666  Add docs
     add d7f50c0  Simplify test code
     add 7fe7ede  Add ZoneId converter
     add e820197  Make Clock, LogEventFactory, et al. injectable
     add 5c07e3f  More docs
     add 8e34333  Create more key factory methods
     add 0500f1b  Unify Key::forClass naming with other factories
     add 03f979a  Update other ServiceLoader usage
     add 358c73a  Remove unused method
     add 3e5a3e9  Add more docs related to DI
     add 1e496a3  Simplify node injection API
     add 47ce200  Add Injector#copy and other cleanups
     add 467f95c  Add docs
     add a38267e  Add Injector docs
     add 4294248  Replace ReflectiveCallerContext with MethodHandles.Lookup
     add 9f0ebdd  Invoke injectable methods with args when seen
     add 9d17492  Add docs to InjectorCallback
     add 6ce552b  Update manual for DI-enabled things
     add 2b637aa  Refactor Injector API from feedback
     add 750725d  Add dependency injection user docs
     add 97fd673  Migrate some tests to JUnit 5
     add 3ef7530  Clarify some usage
     add aebc3ac  Make constraint validation more consistent
     add e01eeff  Add LookupSelector for caller-sensitivity
     add 2c79390  Make ConstraintValidator injectable
     new 09149ad  Merge branch 'di'

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../apache/log4j/BasicConfigurationFactory.java    |   8 +-
 .../test/java/org/apache/log4j/CategoryTest.java   |  67 +-
 .../logging/log4j/message/ThreadDumpMessage.java   |  43 +-
 .../org/apache/logging/log4j}/util/LazyValue.java  |  30 +-
 .../apache/logging/log4j/util/PropertiesUtil.java  |  16 +-
 .../apache/logging/log4j/util/ProviderUtil.java    |  28 +-
 .../logging/log4j/util/ServiceLoaderUtil.java      |  15 +-
 .../apache/logging/log4j/util/ServiceRegistry.java | 119 ++++
 .../apache/logging/log4j/util/StringBuilders.java  |  17 +
 .../log4j/core/test/appender/ListAppender.java     |  22 +-
 .../log4j/core/test/junit/AppenderResolver.java    |  13 +-
 .../core/test/junit/ContextSelectorCallback.java   |  41 ++
 .../log4j/core/test/junit/ContextSelectorType.java |  23 +-
 .../core/test/junit/LoggerContextResolver.java     |  16 +-
 .../logging/log4j/core/test/junit/Named.java       |  13 +
 .../test/junit/TypeBasedParameterResolver.java     |  35 +-
 .../logging/log4j/core/LogEventFactoryTest.java    |  90 +--
 .../logging/log4j/core/LoggerUpdateTest.java       |   9 +-
 .../logging/log4j/core/TimestampMessageTest.java   |  38 +-
 .../core/appender/OutputStreamManagerTest.java     |  15 +-
 .../RollingDirectSizeTimeNewDirectoryTest.java     |  38 +-
 .../rolling/RollingDirectTimeNewDirectoryTest.java |  34 +-
 .../rolling/action/IfLastModifiedTest.java         |  25 +-
 .../RoutingAppenderKeyLookupEvaluationTest.java    |  20 +-
 .../AsyncLoggerCustomSelectorLocationTest.java     |  10 +-
 .../AsyncLoggerNanoTimeTest.java}                  |  79 +--
 .../log4j/core/async/AsyncLoggerTestNanoTime.java  |  99 ---
 .../async/AsyncLoggerTimestampMessageTest.java     |  73 +-
 .../logging/log4j/core/config/AdvertiserTest.java  |  13 +-
 .../log4j/core/config/LoggersPluginTest.java       |   8 +-
 .../validators/RequiredValidatorTest.java          |  26 +-
 .../validators/ValidHostValidatorTest.java         |  17 +-
 .../validators/ValidPortValidatorTest.java         |  18 +-
 .../ValidatingPluginWithFailoverTest.java          |  37 +-
 .../ValidatingPluginWithGenericBuilderTest.java    |  26 +-
 ...ngPluginWithGenericSubclassFoo1BuilderTest.java |  27 +-
 .../ValidatingPluginWithTypedBuilderTest.java      |  29 +-
 .../core/filter/DynamicThresholdFilterTest.java    |  19 +-
 .../logging/log4j/core/filter/TimeFilterTest.java  |  50 +-
 .../log4j/core/impl/Log4jLogEventNanoTimeTest.java | 112 ++-
 .../logging/log4j/core/impl/Log4jLogEventTest.java |  63 +-
 .../core/impl/ReusableLogEventFactoryTest.java     |  21 +-
 .../plugins/convert/CoreTypeConvertersTest.java    |   6 -
 .../logging/log4j/core/time/ClockFactoryTest.java  |  51 +-
 .../core/util/ShutdownCallbackRegistryTest.java    |  16 +-
 .../resources/AsyncLoggerTimestampMessageTest.xml  |  11 +-
 .../src/test/resources/NanoTimeToFileTest.xml      |  13 +-
 .../src/test/resources/log4j-advertiser.xml        |   3 +-
 .../src/test/resources/multipleRootLoggersTest.xml |   2 +-
 log4j-core/pom.xml                                 |   8 -
 log4j-core/src/main/java/module-info.java          |   4 +-
 .../logging/log4j/core/ContextDataInjector.java    |   7 +-
 .../apache/logging/log4j/core/LoggerContext.java   | 115 ++--
 .../org/apache/logging/log4j/core/Version.java     |   2 +-
 .../appender/rolling/action/IfLastModified.java    |  81 ++-
 .../logging/log4j/core/async/AsyncLogger.java      |  32 +-
 .../log4j/core/async/AsyncLoggerConfig.java        |  60 +-
 .../log4j/core/async/AsyncLoggerContext.java       |  18 +-
 .../core/async/AsyncLoggerContextSelector.java     |  11 +-
 .../async/BasicAsyncLoggerContextSelector.java     |   4 +-
 .../core/async/RingBufferLogEventTranslator.java   |  16 +-
 .../log4j/core/config/AbstractConfiguration.java   | 281 +++-----
 .../logging/log4j/core/config/Configuration.java   |  12 +-
 .../log4j/core/config/ConfigurationFactory.java    |  46 +-
 .../log4j/core/config/DefaultConfiguration.java    |   5 +
 .../logging/log4j/core/config/LoggerConfig.java    | 162 ++---
 .../config/builder/impl/BuiltConfiguration.java    |  14 +-
 .../log4j/core/config/json/JsonConfiguration.java  |  22 +-
 .../log4j/core/config/plugins/PluginAliases.java   |   1 +
 .../log4j/core/config/plugins/PluginAttribute.java |  11 +-
 .../config/plugins/PluginBuilderAttribute.java     |  11 +-
 .../core/config/plugins/PluginBuilderFactory.java  |   5 +-
 .../core/config/plugins/PluginConfiguration.java   |  10 +-
 .../log4j/core/config/plugins/PluginElement.java   |  11 +-
 .../log4j/core/config/plugins/PluginFactory.java   |   5 +-
 .../log4j/core/config/plugins/PluginNode.java      |  11 +-
 .../log4j/core/config/plugins/PluginValue.java     |  11 +-
 .../config/plugins/convert/CoreTypeConverters.java | 111 +--
 .../inject/PluginConfigurationInjector.java        |  39 --
 .../core/config/plugins/util/PluginBuilder.java    | 346 ----------
 .../plugins/util/PluginValueNameProvider.java      |   1 +
 .../plugins/visit/PluginAttributeVisitor.java      | 105 +++
 .../PluginBuilderAttributeVisitor.java}            |  22 +-
 .../plugins/visit/PluginConfigurationVisitor.java  |  65 ++
 .../plugins/visitors/PluginAttributeVisitor.java   |  91 ---
 .../visitors/PluginBuilderAttributeVisitor.java    |  49 --
 .../plugins/visitors/PluginElementVisitor.java     | 112 ---
 .../config/plugins/visitors/PluginNodeVisitor.java |  39 --
 .../plugins/visitors/PluginValueVisitor.java       |  50 --
 .../core/config/plugins/visitors/package-info.java |  22 -
 .../log4j/core/config/xml/XmlConfiguration.java    |  36 +-
 .../log4j/core/filter/DynamicThresholdFilter.java  | 100 ++-
 .../log4j/core/filter/ThreadContextMapFilter.java  | 129 ++--
 .../logging/log4j/core/filter/TimeFilter.java      | 112 ++-
 .../logging/log4j/core/impl/DefaultCallback.java   | 151 ++++
 .../log4j/core/impl/DefaultLogEventFactory.java    |  57 +-
 .../log4j/core/impl/Log4jContextFactory.java       | 105 +--
 .../logging/log4j/core/impl/Log4jLogEvent.java     | 171 ++---
 .../logging/log4j/core/impl/LogEventFactory.java   |   6 +-
 .../log4j/core/impl/ReusableLogEventFactory.java   |  22 +-
 .../log4j/core/impl/ThreadContextDataInjector.java |  36 +-
 .../log4j/core/layout/AbstractStringLayout.java    |  13 +-
 .../apache/logging/log4j/core/osgi/Activator.java  |  61 +-
 .../log4j/core/osgi/BundleContextSelector.java     |  14 +-
 .../logging/log4j/core/script/ScriptManager.java   |   6 +-
 .../log4j/core/selector/BasicContextSelector.java  |  14 +-
 .../core/selector/ClassLoaderContextSelector.java  |  40 +-
 .../log4j/core/selector/ContextSelector.java       |   7 +-
 .../org/apache/logging/log4j/core/time/Clock.java  |   4 +
 .../logging/log4j/core/time/ClockFactory.java      |  63 +-
 .../apache/logging/log4j/core/time/NanoClock.java  |   3 +
 .../log4j/core/time/internal/CachedClock.java      |  18 +-
 .../core/time/internal/CoarseCachedClock.java      |  37 +-
 .../apache/logging/log4j/core/util/Builder.java    |   9 +-
 .../apache/logging/log4j/core/util/Constants.java  |   5 +
 .../core/util/DefaultShutdownCallbackRegistry.java |  13 +-
 .../log4j/core/util/ShutdownCallbackRegistry.java  |   3 +
 .../logging/log4j/core/util/WatchManager.java      |  40 +-
 ...pache.logging.log4j.plugins.di.InjectorCallback |   2 +-
 .../log4j/jndi/selector/JndiContextSelector.java   |  20 +-
 log4j-kafka/pom.xml                                |   2 +-
 log4j-osgi/pom.xml                                 |   1 -
 .../log4j/perf/jmh/Log4jLogEventBenchmark.java     |  66 +-
 .../log4j/perf/jmh/LoggerConfigBenchmark.java      |  21 +-
 .../log4j/plugin/processor/PluginProcessor.java    |  15 +-
 log4j-plugins-test/pom.xml                         |   1 -
 .../ValidatingPluginWithTypedBuilder.java          |   6 -
 log4j-plugins-test/src/main/java9/module-info.java |   3 +-
 .../logging/log4j/plugins/di/InjectorTest.java     | 757 +++++++++++++++++++++
 .../apache/logging/log4j/plugins/di/KeysTest.java  |  17 +-
 log4j-plugins/pom.xml                              |  23 -
 log4j-plugins/src/main/java/module-info.java       |   8 +-
 .../org/apache/logging/log4j/plugins/Factory.java  |  47 ++
 .../plugins/{Producer.java => FactoryType.java}    |   5 +-
 .../org/apache/logging/log4j/plugins/Inject.java   |   5 +-
 .../org/apache/logging/log4j/plugins/Named.java    |  19 +-
 .../apache/logging/log4j/plugins/NamedAliases.java |  38 --
 .../org/apache/logging/log4j/plugins/Node.java     |  23 +
 .../logging/log4j/plugins/PluginAliases.java       |   2 +-
 .../logging/log4j/plugins/PluginAttribute.java     |   8 +-
 .../log4j/plugins/PluginBuilderAttribute.java      |  14 +-
 .../logging/log4j/plugins/PluginElement.java       |   8 +-
 .../{package-info.java => PluginException.java}    |  16 +-
 .../logging/log4j/plugins/PluginFactory.java       |   9 +-
 .../apache/logging/log4j/plugins/PluginNode.java   |   8 +-
 .../apache/logging/log4j/plugins/PluginValue.java  |   8 +-
 .../plugins/{Qualifier.java => QualifierType.java} |   5 +-
 .../{SingletonScoped.java => Singleton.java}       |   7 +-
 .../plugins/bind/AbstractConfigurationBinder.java  |  85 ---
 .../log4j/plugins/bind/ConfigurationBinder.java    |  42 --
 .../bind/ConfigurationBindingException.java        |  34 -
 .../log4j/plugins/bind/FactoryMethodBinder.java    |  74 --
 .../plugins/bind/FieldConfigurationBinder.java     |  52 --
 .../plugins/bind/MethodConfigurationBinder.java    |  42 --
 .../log4j/plugins/convert/TypeConverter.java       |   1 +
 .../plugins/convert/TypeConverterRegistry.java     |  18 +-
 .../log4j/plugins/convert/TypeConverters.java      |  20 +-
 .../apache/logging/log4j/plugins/di/Binding.java   |  25 +-
 .../logging/log4j/plugins/di/BindingMap.java       |  57 ++
 .../org/apache/logging/log4j/plugins/di/DI.java    |  49 ++
 .../logging/log4j/plugins/di/DefaultInjector.java  | 660 ++++++++++++++++++
 .../logging/log4j/plugins/di/InjectionPoint.java   |  78 +++
 .../apache/logging/log4j/plugins/di/Injector.java  | 160 +++++
 .../logging/log4j/plugins/di/InjectorCallback.java |  50 ++
 .../org/apache/logging/log4j/plugins/di/Key.java   | 191 ++++++
 .../Keys.java}                                     |  15 +-
 .../logging/log4j/plugins/di/LookupSelector.java   |  11 +-
 .../org/apache/logging/log4j/plugins/di/Scope.java |  20 +-
 .../logging/log4j/plugins/di}/package-info.java    |   4 +-
 .../inject/AbstractConfigurationInjector.java      | 135 ----
 .../plugins/inject/ConfigurationInjector.java      |  73 --
 .../log4j/plugins/inject/InjectorStrategy.java     |  33 -
 .../plugins/inject/PluginAttributeInjector.java    |  88 ---
 .../inject/PluginBuilderAttributeInjector.java     |  44 --
 .../plugins/inject/PluginElementInjector.java      | 106 ---
 .../log4j/plugins/inject/PluginNodeInjector.java   |  33 -
 .../log4j/plugins/inject/PluginValueInjector.java  |  44 --
 .../logging/log4j/plugins/inject/package-info.java |  23 -
 .../plugins/name/AnnotatedElementNameProvider.java | 106 ++-
 .../logging/log4j/plugins/name/NameProvider.java   |   6 +
 .../log4j/plugins/name/NamedAliasesProvider.java   |  54 --
 .../plugins/name/NamedQualifierNameProvider.java   |  23 +-
 .../constraints => name}/package-info.java         |   6 +-
 .../apache/logging/log4j/plugins/package-info.java |   5 +-
 .../log4j/plugins/processor/PluginEntry.java       |   6 +-
 .../log4j/plugins/processor/PluginService.java     |  11 +-
 .../log4j/plugins/processor/package-info.java      |  22 -
 .../logging/log4j/plugins/util/AnnotationUtil.java |   8 +-
 .../apache/logging/log4j/plugins/util/Builder.java |   9 +-
 .../util/{package-info.java => PluginContext.java} |  31 +-
 .../logging/log4j/plugins/util/PluginRegistry.java |  65 +-
 .../logging/log4j/plugins/util/PluginType.java     |  61 +-
 .../logging/log4j/plugins/util/TypeUtil.java       | 195 ++----
 ...nfo.java => ConstraintValidationException.java} |  15 +-
 .../plugins/validation/ConstraintValidator.java    |   3 +
 .../plugins/validation/ConstraintValidators.java   |  84 ---
 .../log4j/plugins/validation/PluginValidator.java  |  37 -
 .../validators/RequiredClassValidator.java         |  14 +-
 .../validators/RequiredPropertyValidator.java      |  10 -
 .../logging/log4j/plugins/visit/NodeVisitor.java   |  88 +++
 .../plugins/visit/PluginAttributeVisitor.java      | 104 +++
 .../visit/PluginBuilderAttributeVisitor.java       |  74 ++
 .../log4j/plugins/visit/PluginElementVisitor.java  | 131 ++++
 .../log4j/plugins/visit/PluginNodeVisitor.java     |  53 ++
 .../log4j/plugins/visit/PluginValueVisitor.java    |  80 +++
 .../logging/log4j/plugins/visit}/package-info.java |   5 +-
 .../log4j/script/config/arbiter/ScriptArbiter.java |   2 +-
 .../appender/routing/RoutesScriptAppenderTest.java |  24 +-
 src/site/asciidoc/manual/dependencyinjection.adoc  | 149 ++++
 src/site/asciidoc/manual/extending.adoc            |  73 +-
 src/site/asciidoc/manual/plugins.adoc              |  25 +-
 211 files changed, 5488 insertions(+), 4429 deletions(-)
 rename {log4j-plugins/src/main/java/org/apache/logging/log4j/plugins => log4j-api/src/main/java/org/apache/logging/log4j}/util/LazyValue.java (66%)
 create mode 100644 log4j-api/src/main/java/org/apache/logging/log4j/util/ServiceRegistry.java
 create mode 100644 log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/junit/ContextSelectorCallback.java
 copy log4j-api-test/src/main/java/org/apache/logging/log4j/test/junit/StatusLoggerLevel.java => log4j-core-test/src/main/java/org/apache/logging/log4j/core/test/junit/ContextSelectorType.java (72%)
 copy log4j-core-test/src/test/java/org/apache/logging/log4j/core/{impl/Log4jLogEventNanoTimeTest.java => async/AsyncLoggerNanoTimeTest.java} (50%)
 delete mode 100644 log4j-core-test/src/test/java/org/apache/logging/log4j/core/async/AsyncLoggerTestNanoTime.java
 delete mode 100644 log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/inject/PluginConfigurationInjector.java
 delete mode 100644 log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/util/PluginBuilder.java
 create mode 100644 log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/visit/PluginAttributeVisitor.java
 copy log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/{util/PluginBuilderAttributeNameProvider.java => visit/PluginBuilderAttributeVisitor.java} (53%)
 create mode 100644 log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/visit/PluginConfigurationVisitor.java
 delete mode 100644 log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/visitors/PluginAttributeVisitor.java
 delete mode 100644 log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/visitors/PluginBuilderAttributeVisitor.java
 delete mode 100644 log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/visitors/PluginElementVisitor.java
 delete mode 100644 log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/visitors/PluginNodeVisitor.java
 delete mode 100644 log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/visitors/PluginValueVisitor.java
 delete mode 100644 log4j-core/src/main/java/org/apache/logging/log4j/core/config/plugins/visitors/package-info.java
 create mode 100644 log4j-core/src/main/java/org/apache/logging/log4j/core/impl/DefaultCallback.java
 copy log4j-appserver/src/main/resources/META-INF/services/org.apache.juli.logging.Log => log4j-core/src/main/resources/META-INF/services/org.apache.logging.log4j.plugins.di.InjectorCallback (93%)
 create mode 100644 log4j-plugins-test/src/test/java/org/apache/logging/log4j/plugins/di/InjectorTest.java
 copy log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/name/NamedQualifierNameProvider.java => log4j-plugins-test/src/test/java/org/apache/logging/log4j/plugins/di/KeysTest.java (68%)
 create mode 100644 log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/Factory.java
 rename log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/{Producer.java => FactoryType.java} (93%)
 delete mode 100644 log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/NamedAliases.java
 copy log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/{package-info.java => PluginException.java} (77%)
 rename log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/{Qualifier.java => QualifierType.java} (88%)
 rename log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/{SingletonScoped.java => Singleton.java} (89%)
 delete mode 100644 log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/bind/AbstractConfigurationBinder.java
 delete mode 100644 log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/bind/ConfigurationBinder.java
 delete mode 100644 log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/bind/ConfigurationBindingException.java
 delete mode 100644 log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/bind/FactoryMethodBinder.java
 delete mode 100644 log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/bind/FieldConfigurationBinder.java
 delete mode 100644 log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/bind/MethodConfigurationBinder.java
 copy log4j-layout-template-json/src/main/java/org/apache/logging/log4j/layout/template/json/util/DummyRecycler.java => log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/di/Binding.java (64%)
 create mode 100644 log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/di/BindingMap.java
 create mode 100644 log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/di/DI.java
 create mode 100644 log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/di/DefaultInjector.java
 create mode 100644 log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/di/InjectionPoint.java
 create mode 100644 log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/di/Injector.java
 create mode 100644 log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/di/InjectorCallback.java
 create mode 100644 log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/di/Key.java
 copy log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/{name/NamedQualifierNameProvider.java => di/Keys.java} (69%)
 copy log4j-1.2-api/src/main/java/org/apache/log4j/spi/OptionHandler.java => log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/di/LookupSelector.java (78%)
 copy log4j-layout-template-json/src/main/java/org/apache/logging/log4j/layout/template/json/util/RecyclerFactory.java => log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/di/Scope.java (69%)
 copy {log4j-core/src/main/java/org/apache/logging/log4j/core/config/composite => log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/di}/package-info.java (82%)
 delete mode 100644 log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/inject/AbstractConfigurationInjector.java
 delete mode 100644 log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/inject/ConfigurationInjector.java
 delete mode 100644 log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/inject/InjectorStrategy.java
 delete mode 100644 log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/inject/PluginAttributeInjector.java
 delete mode 100644 log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/inject/PluginBuilderAttributeInjector.java
 delete mode 100644 log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/inject/PluginElementInjector.java
 delete mode 100644 log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/inject/PluginNodeInjector.java
 delete mode 100644 log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/inject/PluginValueInjector.java
 delete mode 100644 log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/inject/package-info.java
 delete mode 100644 log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/name/NamedAliasesProvider.java
 copy log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/{validation/constraints => name}/package-info.java (87%)
 delete mode 100644 log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/processor/package-info.java
 rename log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/util/{package-info.java => PluginContext.java} (56%)
 copy log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/validation/{package-info.java => ConstraintValidationException.java} (68%)
 delete mode 100644 log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/validation/ConstraintValidators.java
 delete mode 100644 log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/validation/PluginValidator.java
 create mode 100644 log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/visit/NodeVisitor.java
 create mode 100644 log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/visit/PluginAttributeVisitor.java
 create mode 100644 log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/visit/PluginBuilderAttributeVisitor.java
 create mode 100644 log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/visit/PluginElementVisitor.java
 create mode 100644 log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/visit/PluginNodeVisitor.java
 create mode 100644 log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/visit/PluginValueVisitor.java
 copy {log4j-api/src/main/java/org/apache/logging/log4j/message => log4j-plugins/src/main/java/org/apache/logging/log4j/plugins/visit}/package-info.java (81%)
 create mode 100644 src/site/asciidoc/manual/dependencyinjection.adoc

[logging-log4j2] 01/01: Merge branch 'di'

Posted by ma...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

mattsicker pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/logging-log4j2.git

commit 09149ad234cbe33dc298c12dbbbe74360a84b592
Merge: 8e5df97 2c79390
Author: Matt Sicker <ma...@apache.org>
AuthorDate: Sun Mar 20 16:17:12 2022 -0500

    Merge branch 'di'

 .../apache/log4j/BasicConfigurationFactory.java    |   8 +-
 .../test/java/org/apache/log4j/CategoryTest.java   |  67 +-
 .../logging/log4j/message/ThreadDumpMessage.java   |  43 +-
 .../org/apache/logging/log4j}/util/LazyValue.java  |  30 +-
 .../apache/logging/log4j/util/PropertiesUtil.java  |  16 +-
 .../apache/logging/log4j/util/ProviderUtil.java    |  28 +-
 .../logging/log4j/util/ServiceLoaderUtil.java      |  15 +-
 .../apache/logging/log4j/util/ServiceRegistry.java | 119 ++++
 .../apache/logging/log4j/util/StringBuilders.java  |  17 +
 .../log4j/core/test/appender/ListAppender.java     |  22 +-
 .../log4j/core/test/junit/AppenderResolver.java    |  13 +-
 .../core/test/junit/ContextSelectorCallback.java   |  41 ++
 .../log4j/core/test/junit/ContextSelectorType.java |  25 +-
 .../core/test/junit/LoggerContextResolver.java     |  16 +-
 .../logging/log4j/core/test/junit/Named.java       |  13 +
 .../test/junit/TypeBasedParameterResolver.java     |  35 +-
 .../logging/log4j/core/LogEventFactoryTest.java    |  90 +--
 .../logging/log4j/core/LoggerUpdateTest.java       |   9 +-
 .../logging/log4j/core/TimestampMessageTest.java   |  38 +-
 .../core/appender/OutputStreamManagerTest.java     |  15 +-
 .../RollingDirectSizeTimeNewDirectoryTest.java     |  38 +-
 .../rolling/RollingDirectTimeNewDirectoryTest.java |  34 +-
 .../rolling/action/IfLastModifiedTest.java         |  25 +-
 .../RoutingAppenderKeyLookupEvaluationTest.java    |  20 +-
 .../AsyncLoggerCustomSelectorLocationTest.java     |  10 +-
 .../AsyncLoggerNanoTimeTest.java}                  |  79 +--
 .../log4j/core/async/AsyncLoggerTestNanoTime.java  |  99 ---
 .../async/AsyncLoggerTimestampMessageTest.java     |  73 +-
 .../logging/log4j/core/config/AdvertiserTest.java  |  13 +-
 .../log4j/core/config/LoggersPluginTest.java       |   8 +-
 .../validators/RequiredValidatorTest.java          |  26 +-
 .../validators/ValidHostValidatorTest.java         |  17 +-
 .../validators/ValidPortValidatorTest.java         |  18 +-
 .../ValidatingPluginWithFailoverTest.java          |  37 +-
 .../ValidatingPluginWithGenericBuilderTest.java    |  26 +-
 ...ngPluginWithGenericSubclassFoo1BuilderTest.java |  27 +-
 .../ValidatingPluginWithTypedBuilderTest.java      |  29 +-
 .../core/filter/DynamicThresholdFilterTest.java    |  19 +-
 .../logging/log4j/core/filter/TimeFilterTest.java  |  50 +-
 .../log4j/core/impl/Log4jLogEventNanoTimeTest.java | 112 ++-
 .../logging/log4j/core/impl/Log4jLogEventTest.java |  63 +-
 .../core/impl/ReusableLogEventFactoryTest.java     |  21 +-
 .../plugins/convert/CoreTypeConvertersTest.java    |   6 -
 .../logging/log4j/core/time/ClockFactoryTest.java  |  51 +-
 .../core/util/ShutdownCallbackRegistryTest.java    |  16 +-
 .../resources/AsyncLoggerTimestampMessageTest.xml  |  11 +-
 .../src/test/resources/NanoTimeToFileTest.xml      |  13 +-
 .../src/test/resources/log4j-advertiser.xml        |   3 +-
 .../src/test/resources/multipleRootLoggersTest.xml |   2 +-
 log4j-core/pom.xml                                 |   8 -
 log4j-core/src/main/java/module-info.java          |   4 +-
 .../logging/log4j/core/ContextDataInjector.java    |   7 +-
 .../apache/logging/log4j/core/LoggerContext.java   | 115 ++--
 .../org/apache/logging/log4j/core/Version.java     |   2 +-
 .../appender/rolling/action/IfLastModified.java    |  81 ++-
 .../logging/log4j/core/async/AsyncLogger.java      |  32 +-
 .../log4j/core/async/AsyncLoggerConfig.java        |  60 +-
 .../log4j/core/async/AsyncLoggerContext.java       |  18 +-
 .../core/async/AsyncLoggerContextSelector.java     |  11 +-
 .../async/BasicAsyncLoggerContextSelector.java     |   4 +-
 .../core/async/RingBufferLogEventTranslator.java   |  16 +-
 .../log4j/core/config/AbstractConfiguration.java   | 281 +++-----
 .../logging/log4j/core/config/Configuration.java   |  12 +-
 .../log4j/core/config/ConfigurationFactory.java    |  46 +-
 .../log4j/core/config/DefaultConfiguration.java    |   5 +
 .../logging/log4j/core/config/LoggerConfig.java    | 162 ++---
 .../config/builder/impl/BuiltConfiguration.java    |  14 +-
 .../log4j/core/config/json/JsonConfiguration.java  |  22 +-
 .../log4j/core/config/plugins/PluginAliases.java   |   1 +
 .../log4j/core/config/plugins/PluginAttribute.java |  11 +-
 .../config/plugins/PluginBuilderAttribute.java     |  11 +-
 .../core/config/plugins/PluginBuilderFactory.java  |   5 +-
 .../core/config/plugins/PluginConfiguration.java   |  10 +-
 .../log4j/core/config/plugins/PluginElement.java   |  11 +-
 .../log4j/core/config/plugins/PluginFactory.java   |   5 +-
 .../log4j/core/config/plugins/PluginNode.java      |  11 +-
 .../log4j/core/config/plugins/PluginValue.java     |  11 +-
 .../config/plugins/convert/CoreTypeConverters.java | 111 +--
 .../inject/PluginConfigurationInjector.java        |  39 --
 .../core/config/plugins/util/PluginBuilder.java    | 346 ----------
 .../plugins/util/PluginValueNameProvider.java      |   1 +
 .../plugins/visit/PluginAttributeVisitor.java      | 105 +++
 .../visit/PluginBuilderAttributeVisitor.java       |  21 +-
 .../plugins/visit/PluginConfigurationVisitor.java  |  65 ++
 .../plugins/visitors/PluginAttributeVisitor.java   |  91 ---
 .../visitors/PluginBuilderAttributeVisitor.java    |  49 --
 .../plugins/visitors/PluginElementVisitor.java     | 112 ---
 .../config/plugins/visitors/PluginNodeVisitor.java |  39 --
 .../plugins/visitors/PluginValueVisitor.java       |  50 --
 .../log4j/core/config/xml/XmlConfiguration.java    |  36 +-
 .../log4j/core/filter/DynamicThresholdFilter.java  | 100 ++-
 .../log4j/core/filter/ThreadContextMapFilter.java  | 129 ++--
 .../logging/log4j/core/filter/TimeFilter.java      | 112 ++-
 .../logging/log4j/core/impl/DefaultCallback.java   | 151 ++++
 .../log4j/core/impl/DefaultLogEventFactory.java    |  57 +-
 .../log4j/core/impl/Log4jContextFactory.java       | 105 +--
 .../logging/log4j/core/impl/Log4jLogEvent.java     | 171 ++---
 .../logging/log4j/core/impl/LogEventFactory.java   |   6 +-
 .../log4j/core/impl/ReusableLogEventFactory.java   |  22 +-
 .../log4j/core/impl/ThreadContextDataInjector.java |  36 +-
 .../log4j/core/layout/AbstractStringLayout.java    |  13 +-
 .../apache/logging/log4j/core/osgi/Activator.java  |  61 +-
 .../log4j/core/osgi/BundleContextSelector.java     |  14 +-
 .../logging/log4j/core/script/ScriptManager.java   |   6 +-
 .../log4j/core/selector/BasicContextSelector.java  |  14 +-
 .../core/selector/ClassLoaderContextSelector.java  |  40 +-
 .../log4j/core/selector/ContextSelector.java       |   7 +-
 .../org/apache/logging/log4j/core/time/Clock.java  |   4 +
 .../logging/log4j/core/time/ClockFactory.java      |  63 +-
 .../apache/logging/log4j/core/time/NanoClock.java  |   3 +
 .../log4j/core/time/internal/CachedClock.java      |  18 +-
 .../core/time/internal/CoarseCachedClock.java      |  37 +-
 .../apache/logging/log4j/core/util/Builder.java    |   9 +-
 .../apache/logging/log4j/core/util/Constants.java  |   5 +
 .../core/util/DefaultShutdownCallbackRegistry.java |  13 +-
 .../log4j/core/util/ShutdownCallbackRegistry.java  |   3 +
 .../logging/log4j/core/util/WatchManager.java      |  40 +-
 ...pache.logging.log4j.plugins.di.InjectorCallback |  17 +
 .../log4j/jndi/selector/JndiContextSelector.java   |  20 +-
 log4j-kafka/pom.xml                                |   2 +-
 log4j-osgi/pom.xml                                 |   1 -
 .../log4j/perf/jmh/Log4jLogEventBenchmark.java     |  66 +-
 .../log4j/perf/jmh/LoggerConfigBenchmark.java      |  21 +-
 .../log4j/plugin/processor/PluginProcessor.java    |  15 +-
 log4j-plugins-test/pom.xml                         |   1 -
 .../ValidatingPluginWithTypedBuilder.java          |   6 -
 log4j-plugins-test/src/main/java9/module-info.java |   3 +-
 .../logging/log4j/plugins/di/InjectorTest.java     | 757 +++++++++++++++++++++
 .../apache/logging/log4j/plugins/di/KeysTest.java  |  17 +-
 log4j-plugins/pom.xml                              |  23 -
 log4j-plugins/src/main/java/module-info.java       |   8 +-
 .../org/apache/logging/log4j/plugins/Factory.java  |  47 ++
 .../plugins/{Producer.java => FactoryType.java}    |   5 +-
 .../org/apache/logging/log4j/plugins/Inject.java   |   5 +-
 .../org/apache/logging/log4j/plugins/Named.java    |  19 +-
 .../org/apache/logging/log4j/plugins/Node.java     |  23 +
 .../logging/log4j/plugins/PluginAliases.java       |   2 +-
 .../logging/log4j/plugins/PluginAttribute.java     |   8 +-
 .../log4j/plugins/PluginBuilderAttribute.java      |  14 +-
 .../logging/log4j/plugins/PluginElement.java       |   8 +-
 .../{package-info.java => PluginException.java}    |  16 +-
 .../logging/log4j/plugins/PluginFactory.java       |   9 +-
 .../apache/logging/log4j/plugins/PluginNode.java   |   8 +-
 .../apache/logging/log4j/plugins/PluginValue.java  |   8 +-
 .../plugins/{Qualifier.java => QualifierType.java} |   5 +-
 .../{SingletonScoped.java => Singleton.java}       |   7 +-
 .../plugins/bind/AbstractConfigurationBinder.java  |  85 ---
 .../log4j/plugins/bind/ConfigurationBinder.java    |  42 --
 .../log4j/plugins/bind/FactoryMethodBinder.java    |  74 --
 .../plugins/bind/FieldConfigurationBinder.java     |  52 --
 .../plugins/bind/MethodConfigurationBinder.java    |  42 --
 .../log4j/plugins/convert/TypeConverter.java       |   1 +
 .../plugins/convert/TypeConverterRegistry.java     |  18 +-
 .../log4j/plugins/convert/TypeConverters.java      |  20 +-
 .../Binding.java}                                  |  24 +-
 .../logging/log4j/plugins/di/BindingMap.java       |  57 ++
 .../org/apache/logging/log4j/plugins/di/DI.java    |  49 ++
 .../logging/log4j/plugins/di/DefaultInjector.java  | 660 ++++++++++++++++++
 .../logging/log4j/plugins/di/InjectionPoint.java   |  78 +++
 .../apache/logging/log4j/plugins/di/Injector.java  | 160 +++++
 .../logging/log4j/plugins/di/InjectorCallback.java |  50 ++
 .../org/apache/logging/log4j/plugins/di/Key.java   | 191 ++++++
 .../Keys.java}                                     |  15 +-
 .../{package-info.java => di/LookupSelector.java}  |  15 +-
 .../{inject/package-info.java => di/Scope.java}    |  16 +-
 .../logging/log4j/plugins/di}/package-info.java    |   5 +-
 .../inject/AbstractConfigurationInjector.java      | 135 ----
 .../plugins/inject/ConfigurationInjector.java      |  73 --
 .../log4j/plugins/inject/InjectorStrategy.java     |  33 -
 .../plugins/inject/PluginAttributeInjector.java    |  88 ---
 .../inject/PluginBuilderAttributeInjector.java     |  44 --
 .../plugins/inject/PluginElementInjector.java      | 106 ---
 .../log4j/plugins/inject/PluginNodeInjector.java   |  33 -
 .../log4j/plugins/inject/PluginValueInjector.java  |  44 --
 .../plugins/name/AnnotatedElementNameProvider.java | 106 ++-
 .../logging/log4j/plugins/name/NameProvider.java   |   6 +
 .../log4j/plugins/name/NamedAliasesProvider.java   |  54 --
 .../plugins/name/NamedQualifierNameProvider.java   |  23 +-
 .../log4j/plugins/{util => name}/package-info.java |   5 +-
 .../apache/logging/log4j/plugins/package-info.java |   5 +-
 .../log4j/plugins/processor/PluginEntry.java       |   6 +-
 .../log4j/plugins/processor/PluginService.java     |  11 +-
 .../logging/log4j/plugins/util/AnnotationUtil.java |   8 +-
 .../apache/logging/log4j/plugins/util/Builder.java |   9 +-
 .../{AnnotationUtil.java => PluginContext.java}    |  35 +-
 .../logging/log4j/plugins/util/PluginRegistry.java |  65 +-
 .../logging/log4j/plugins/util/PluginType.java     |  61 +-
 .../logging/log4j/plugins/util/TypeUtil.java       | 195 ++----
 .../ConstraintValidationException.java}            |  14 +-
 .../plugins/validation/ConstraintValidator.java    |   3 +
 .../plugins/validation/ConstraintValidators.java   |  84 ---
 .../log4j/plugins/validation/PluginValidator.java  |  37 -
 .../validators/RequiredClassValidator.java         |  14 +-
 .../validators/RequiredPropertyValidator.java      |  10 -
 .../logging/log4j/plugins/visit/NodeVisitor.java   |  88 +++
 .../plugins/visit/PluginAttributeVisitor.java      | 104 +++
 .../visit/PluginBuilderAttributeVisitor.java       |  74 ++
 .../log4j/plugins/visit/PluginElementVisitor.java  | 131 ++++
 .../log4j/plugins/visit/PluginNodeVisitor.java     |  53 ++
 .../log4j/plugins/visit/PluginValueVisitor.java    |  80 +++
 .../plugins/{processor => visit}/package-info.java |   6 +-
 .../log4j/script/config/arbiter/ScriptArbiter.java |   2 +-
 .../appender/routing/RoutesScriptAppenderTest.java |  24 +-
 src/site/asciidoc/manual/dependencyinjection.adoc  | 149 ++++
 src/site/asciidoc/manual/extending.adoc            |  73 +-
 src/site/asciidoc/manual/plugins.adoc              |  25 +-
 206 files changed, 5505 insertions(+), 4292 deletions(-)