Package com.nuix.logging
Class LogMessageCallbackAppender
- java.lang.Object
-
- org.apache.logging.log4j.core.AbstractLifeCycle
-
- org.apache.logging.log4j.core.filter.AbstractFilterable
-
- org.apache.logging.log4j.core.appender.AbstractAppender
-
- com.nuix.logging.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 renderedLogEvent
objects to the provided consumer, using the provded layout to first render the LogEvent.
-
-
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 eventsLogMessageCallbackAppender(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 filterLogMessageCallbackAppender(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
-
-
-
-
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 assignlayout
- The required layout which will be used to renderLogEvent
instances into Stringsfilter
- 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 assignlayout
- The required layout which will be used to renderLogEvent
instances into StringsfilteringFunction
- 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 assignlayout
- 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
-
-