Class PluginBuilder
java.lang.Object
org.apache.logging.log4j.core.config.plugins.util.PluginBuilder
Builder class to instantiate and configure a Plugin object using a PluginFactory method or PluginBuilderFactory
builder class.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final Class<?> private Configurationprivate static final Field[]private LogEventprivate static final Loggerprivate Nodeprivate final PluginType<?> -
Constructor Summary
ConstructorsConstructorDescriptionPluginBuilder(PluginType<?> pluginType) Constructs a PluginBuilder for a given PluginType. -
Method Summary
Modifier and TypeMethodDescriptionbuild()Builds the plugin object.private voidprivate static Builder<?> createBuilder(Class<?> clazz) private static String[]extractPluginAliases(Annotation... parmTypes) private static MethodfindFactoryMethod(Class<?> clazz) forLogEvent(LogEvent event) Specifies the LogEvent that may be used to provide extra context for string substitutions.private Object[]generateParameters(Method factory) private voidinjectFields(Builder<?> builder) private static StringsimpleName(Object object) object.getClass().getSimpleName()returnsBuilder, when we wantPatternLayout$Builder.private voidverify()private voidwithConfiguration(Configuration configuration) Specifies the Configuration to use for constructing the plugin instance.withConfigurationNode(Node node) Specifies the Node corresponding to the plugin object that will be created.
-
Field Details
-
EMPTY_FIELD_ARRAY
-
LOGGER
-
pluginType
-
clazz
-
configuration
-
node
-
event
-
-
Constructor Details
-
PluginBuilder
Constructs a PluginBuilder for a given PluginType.- Parameters:
pluginType- type of plugin to configure
-
-
Method Details
-
withConfiguration
Specifies the Configuration to use for constructing the plugin instance.- Parameters:
configuration- the configuration to use.- Returns:
this
-
withConfigurationNode
Specifies the Node corresponding to the plugin object that will be created.- Parameters:
node- the plugin configuration node to use.- Returns:
this
-
forLogEvent
Specifies the LogEvent that may be used to provide extra context for string substitutions.- Parameters:
event- the event to use for extra information.- Returns:
this
-
build
Builds the plugin object. -
verify
private void verify() -
createBuilder
private static Builder<?> createBuilder(Class<?> clazz) throws InvocationTargetException, IllegalAccessException -
injectFields
- Throws:
IllegalAccessException
-
simpleName
object.getClass().getSimpleName()returnsBuilder, when we wantPatternLayout$Builder. -
findFactoryMethod
-
generateParameters
-
extractPluginAliases
-
checkForRemainingAttributes
private void checkForRemainingAttributes() -
verifyNodeChildrenUsed
private void verifyNodeChildrenUsed()
-