Class ContextDataInjectorFactory


  • public class ContextDataInjectorFactory
    extends Object
    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:
    ContextDataInjector, ReadOnlyStringMap, ThreadContextDataInjector, LogEvent.getContextData()
    • Constructor Detail

      • ContextDataInjectorFactory

        public ContextDataInjectorFactory()
    • Method Detail

      • createInjector

        public static ContextDataInjector createInjector()
        Returns a new ContextDataInjector instance based on the value of system property log4j2.ContextDataInjector. If no value was specified this factory method returns one of the ContextDataInjector classes defined in ThreadContextDataInjector which is most appropriate for the ThreadContext implementation.

        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 all LogEvent objects
        See Also:
        LogEvent.getContextData(), ContextDataInjector