Class LogMessageCallbackAppender

  • All Implemented Interfaces:
    org.apache.logging.log4j.core.Appender, org.apache.logging.log4j.core.filter.Filterable, org.apache.logging.log4j.core.impl.LocationAware, org.apache.logging.log4j.core.LifeCycle, org.apache.logging.log4j.core.LifeCycle2

    public class LogMessageCallbackAppender
    extends org.apache.logging.log4j.core.appender.AbstractAppender
    A custom log4j2 appender which forwards String rendered LogEvent objects to the provided consumer, using the provded layout to first render the LogEvent.
    • Nested Class Summary

      • Nested classes/interfaces inherited from class org.apache.logging.log4j.core.appender.AbstractAppender

        org.apache.logging.log4j.core.appender.AbstractAppender.Builder<B extends org.apache.logging.log4j.core.appender.AbstractAppender.Builder<B>>
      • Nested classes/interfaces inherited from interface org.apache.logging.log4j.core.LifeCycle

        org.apache.logging.log4j.core.LifeCycle.State
    • Field Summary

      • Fields inherited from class org.apache.logging.log4j.core.AbstractLifeCycle

        DEFAULT_STOP_TIMEOUT, DEFAULT_STOP_TIMEUNIT, LOGGER
      • Fields inherited from interface org.apache.logging.log4j.core.Appender

        ELEMENT_TYPE
    • Constructor Summary

      Constructors 
      Constructor Description
      LogMessageCallbackAppender​(java.lang.String name, @NonNull org.apache.logging.log4j.core.Layout layout)
      Creates a new instance with the given name and a filter that accepts ALL events
      LogMessageCallbackAppender​(java.lang.String name, @NonNull org.apache.logging.log4j.core.Layout layout, java.util.function.Function<org.apache.logging.log4j.core.LogEvent,​java.lang.Boolean> filteringFunction)
      Creates a new instance with the given name and filter
      LogMessageCallbackAppender​(java.lang.String name, @NonNull org.apache.logging.log4j.core.Layout layout, org.apache.logging.log4j.core.Filter filter)
      Creates a new instance with the given name and filter
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void append​(org.apache.logging.log4j.core.LogEvent event)
      java.util.function.Consumer<java.lang.String> getMessageConsumer()
      Gets the Consumer that will be provided log event messages (based on provided layout)
      void setMessageConsumer​(java.util.function.Consumer<java.lang.String> messageConsumer)
      Sets the consumer that will be provided log event messages (based on provided layout)
      • Methods inherited from class org.apache.logging.log4j.core.appender.AbstractAppender

        error, error, error, getHandler, getLayout, getName, ignoreExceptions, parseInt, requiresLocation, setHandler, toSerializable, toString
      • Methods inherited from class org.apache.logging.log4j.core.filter.AbstractFilterable

        addFilter, getFilter, getPropertyArray, hasFilter, isFiltered, removeFilter, start, stop, stop
      • Methods inherited from class org.apache.logging.log4j.core.AbstractLifeCycle

        equalsImpl, getState, getStatusLogger, hashCodeImpl, initialize, isInitialized, isStarted, isStarting, isStopped, isStopping, setStarted, setStarting, setState, setStopped, setStopping, stop, stop
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
      • Methods inherited from interface org.apache.logging.log4j.core.LifeCycle

        getState, initialize, isStarted, isStopped, start, stop
    • Constructor Detail

      • LogMessageCallbackAppender

        public LogMessageCallbackAppender​(java.lang.String name,
                                          @NonNull
                                          @NonNull org.apache.logging.log4j.core.Layout layout,
                                          org.apache.logging.log4j.core.Filter filter)
        Creates a new instance with the given name and filter
        Parameters:
        name - The name to assign
        layout - The required layout which will be used to render LogEvent instances into Strings
        filter - The filter to apply
      • LogMessageCallbackAppender

        public LogMessageCallbackAppender​(java.lang.String name,
                                          @NonNull
                                          @NonNull org.apache.logging.log4j.core.Layout layout,
                                          java.util.function.Function<org.apache.logging.log4j.core.LogEvent,​java.lang.Boolean> filteringFunction)
        Creates a new instance with the given name and filter
        Parameters:
        name - The name to assign
        layout - The required layout which will be used to render LogEvent instances into Strings
        filteringFunction - A function which will be used to determine what events are filtered.
      • LogMessageCallbackAppender

        public LogMessageCallbackAppender​(java.lang.String name,
                                          @NonNull
                                          @NonNull org.apache.logging.log4j.core.Layout layout)
        Creates a new instance with the given name and a filter that accepts ALL events
        Parameters:
        name - The name to assign
        layout - The layout to use
    • Method Detail

      • append

        public void append​(org.apache.logging.log4j.core.LogEvent event)
        Parameters:
        event -
      • getMessageConsumer

        public java.util.function.Consumer<java.lang.String> getMessageConsumer()
        Gets the Consumer that will be provided log event messages (based on provided layout)
        Returns:
        The Consumer that will receive log event messages
      • setMessageConsumer

        public void setMessageConsumer​(java.util.function.Consumer<java.lang.String> messageConsumer)
        Sets the consumer that will be provided log event messages (based on provided layout)
        Parameters:
        messageConsumer - The Consumer to receive log event messages