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(-)