Class ContextDataInjectorFactory
java.lang.Object
org.apache.logging.log4j.core.impl.ContextDataInjectorFactory
Factory for ContextDataInjectors. Returns a new
ContextDataInjector
instance based on the value of system
property log4j2.ContextDataInjector
. Users may use this system property to specify the fully qualified class
name of a class that implements the ContextDataInjector
interface.
If no value was specified this factory method returns one of the injectors defined in
ThreadContextDataInjector
.- Since:
- 2.7
- See Also:
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic ContextDataInjector
Returns a newContextDataInjector
instance based on the value of system propertylog4j2.ContextDataInjector
.
-
Constructor Details
-
ContextDataInjectorFactory
public ContextDataInjectorFactory()
-
-
Method Details
-
createInjector
Returns a newContextDataInjector
instance based on the value of system propertylog4j2.ContextDataInjector
. If no value was specified this factory method returns one of theContextDataInjector
classes defined inThreadContextDataInjector
which is most appropriate for the ThreadContext implementation.Note: It is no longer recommended that users provide a custom implementation of the ContextDataInjector. Instead, provide a
ContextDataProvider
.Users may use this system property to specify the fully qualified class name of a class that implements the
ContextDataInjector
interface.When providing a custom
ContextDataInjector
, be aware that this method may be invoked multiple times by the various components in Log4j that need access to context data. This includes the object(s) that populate log events, but also various lookups and filters that look at context data to determine whether an event should be logged.- Returns:
- a ContextDataInjector that populates the
ReadOnlyStringMap
of allLogEvent
objects - See Also:
-