org.apache.logging.log4j.core.async
Class RingBufferLogEvent

java.lang.Object
  extended by org.apache.logging.log4j.core.async.RingBufferLogEvent
All Implemented Interfaces:
Serializable, LogEvent

public class RingBufferLogEvent
extends Object
implements LogEvent

When the Disruptor is started, the RingBuffer is populated with event objects. These objects are then re-used during the life of the RingBuffer.

See Also:
Serialized Form

Field Summary
static org.apache.logging.log4j.core.async.RingBufferLogEvent.Factory FACTORY
          The EventFactory for RingBufferLogEvents.
 
Constructor Summary
RingBufferLogEvent()
           
 
Method Summary
 void clear()
          Release references held by ring buffer to allow objects to be garbage-collected.
 void execute(boolean endOfBatch)
          Event processor that reads the event from the ringbuffer can call this method.
 Map<String,String> getContextMap()
          Get the MDC data.
 ThreadContext.ContextStack getContextStack()
          Get the NDC data.
 String getFQCN()
          Returns the fully qualified class name of the caller of the logging api.
 Level getLevel()
          Get level.
 String getLoggerName()
          Get logger name.
 Marker getMarker()
          Get the Marker associated with the event.
 Message getMessage()
          Get the message associated with the event.
 long getMillis()
          Get event time in milliseconds since 1970.
 StackTraceElement getSource()
          Get source of logging request.
 String getThreadName()
          Get thread name.
 Throwable getThrown()
          Get throwable associated with logging request.
 boolean isEndOfBatch()
          Returns true if this event is the end of a batch, false otherwise.
 boolean isIncludeLocation()
          Returns whether the source of the logging request is required downstream.
 void mergePropertiesIntoContextMap(Map<Property,Boolean> properties, StrSubstitutor strSubstitutor)
          Merges the contents of the specified map into the contextMap, after replacing any variables in the property values with the StrSubstitutor-supplied actual values.
 void setEndOfBatch(boolean endOfBatch)
          Sets whether this event is the last one in a batch.
 void setIncludeLocation(boolean includeLocation)
          Sets whether the source of the logging request is required downstream.
 void setValues(AsyncLogger asyncLogger, String loggerName, Marker marker, String fqcn, Level level, Message data, Throwable t, Map<String,String> map, ThreadContext.ContextStack contextStack, String threadName, StackTraceElement location, long currentTimeMillis)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

FACTORY

public static final org.apache.logging.log4j.core.async.RingBufferLogEvent.Factory FACTORY
The EventFactory for RingBufferLogEvents.

Constructor Detail

RingBufferLogEvent

public RingBufferLogEvent()
Method Detail

setValues

public void setValues(AsyncLogger asyncLogger,
                      String loggerName,
                      Marker marker,
                      String fqcn,
                      Level level,
                      Message data,
                      Throwable t,
                      Map<String,String> map,
                      ThreadContext.ContextStack contextStack,
                      String threadName,
                      StackTraceElement location,
                      long currentTimeMillis)

execute

public void execute(boolean endOfBatch)
Event processor that reads the event from the ringbuffer can call this method.

Parameters:
endOfBatch - flag to indicate if this is the last event in a batch from the RingBuffer

isEndOfBatch

public boolean isEndOfBatch()
Returns true if this event is the end of a batch, false otherwise.

Specified by:
isEndOfBatch in interface LogEvent
Returns:
true if this event is the end of a batch, false otherwise

setEndOfBatch

public void setEndOfBatch(boolean endOfBatch)
Description copied from interface: LogEvent
Sets whether this event is the last one in a batch. Used by asynchronous Loggers and Appenders to signal to buffered downstream components when to flush to disk, as a more efficient alternative to the immediateFlush=true configuration.

Specified by:
setEndOfBatch in interface LogEvent
Parameters:
endOfBatch - true if this event is the last one in a batch, false otherwise.

isIncludeLocation

public boolean isIncludeLocation()
Description copied from interface: LogEvent
Returns whether the source of the logging request is required downstream. Asynchronous Loggers and Appenders use this flag to determine whether to take a StackTrace snapshot or not before handing off this event to another thread.

Specified by:
isIncludeLocation in interface LogEvent
Returns:
true if the source of the logging request is required downstream, false otherwise.
See Also:
LogEvent.getSource()

setIncludeLocation

public void setIncludeLocation(boolean includeLocation)
Description copied from interface: LogEvent
Sets whether the source of the logging request is required downstream. Asynchronous Loggers and Appenders use this flag to determine whether to take a StackTrace snapshot or not before handing off this event to another thread.

Specified by:
setIncludeLocation in interface LogEvent
Parameters:
includeLocation - true if the source of the logging request is required downstream, false otherwise.
See Also:
LogEvent.getSource()

getLoggerName

public String getLoggerName()
Description copied from interface: LogEvent
Get logger name.

Specified by:
getLoggerName in interface LogEvent
Returns:
logger name, may be null.

getMarker

public Marker getMarker()
Description copied from interface: LogEvent
Get the Marker associated with the event.

Specified by:
getMarker in interface LogEvent
Returns:
Marker

getFQCN

public String getFQCN()
Description copied from interface: LogEvent
Returns the fully qualified class name of the caller of the logging api.

Specified by:
getFQCN in interface LogEvent
Returns:
The fully qualified class name of the caller.

getLevel

public Level getLevel()
Description copied from interface: LogEvent
Get level.

Specified by:
getLevel in interface LogEvent
Returns:
level.

getMessage

public Message getMessage()
Description copied from interface: LogEvent
Get the message associated with the event.

Specified by:
getMessage in interface LogEvent
Returns:
message.

getThrown

public Throwable getThrown()
Description copied from interface: LogEvent
Get throwable associated with logging request.

Specified by:
getThrown in interface LogEvent
Returns:
throwable, may be null.

getContextMap

public Map<String,String> getContextMap()
Description copied from interface: LogEvent
Get the MDC data.

Specified by:
getContextMap in interface LogEvent
Returns:
A copy of the Mapped Diagnostic Context or null.

getContextStack

public ThreadContext.ContextStack getContextStack()
Description copied from interface: LogEvent
Get the NDC data.

Specified by:
getContextStack in interface LogEvent
Returns:
A copy of the Nested Diagnostic Context or null;

getThreadName

public String getThreadName()
Description copied from interface: LogEvent
Get thread name.

Specified by:
getThreadName in interface LogEvent
Returns:
thread name, may be null.

getSource

public StackTraceElement getSource()
Description copied from interface: LogEvent
Get source of logging request.

Specified by:
getSource in interface LogEvent
Returns:
source of logging request, may be null.

getMillis

public long getMillis()
Description copied from interface: LogEvent
Get event time in milliseconds since 1970.

Specified by:
getMillis in interface LogEvent
Returns:
milliseconds since 1970.

mergePropertiesIntoContextMap

public void mergePropertiesIntoContextMap(Map<Property,Boolean> properties,
                                          StrSubstitutor strSubstitutor)
Merges the contents of the specified map into the contextMap, after replacing any variables in the property values with the StrSubstitutor-supplied actual values.

Parameters:
properties - configured properties
strSubstitutor - used to lookup values of variables in properties

clear

public void clear()
Release references held by ring buffer to allow objects to be garbage-collected.



Copyright © 1999-2013 Apache Software Foundation. All Rights Reserved.
Apache Logging, Apache Log4j, Log4j, Apache, the Apache feather logo, the Apache Logging project logo, and the Apache Log4j logo are trademarks of The Apache Software Foundation.