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.
 LogEvent createMemento()
          Creates and returns a new immutable copy of this RingBufferLogEvent.
 void execute(boolean endOfBatch)
          Event processor that reads the event from the ringbuffer can call this method.
 Map<String,String> getContextMap()
          Gets the context map (also know as Mapped Diagnostic Context or MDC).
 org.apache.logging.log4j.ThreadContext.ContextStack getContextStack()
          Gets the context stack (also known as Nested Diagnostic Context or NDC).
 org.apache.logging.log4j.Level getLevel()
          Gets the level.
 String getLoggerFqcn()
          Returns the fully qualified class name of the caller of the logging API.
 String getLoggerName()
          Gets the logger name.
 org.apache.logging.log4j.Marker getMarker()
          Gets the Marker associated with the event.
 org.apache.logging.log4j.message.Message getMessage()
          Gets the message associated with the event.
 StackTraceElement getSource()
          Gets the source of logging request.
 String getThreadName()
          Gets thread name.
 Throwable getThrown()
          Gets throwable associated with logging request.
 ThrowableProxy getThrownProxy()
          Gets throwable proxy associated with logging request.
 long getTimeMillis()
          Gets event time in milliseconds since midnight, January 1, 1970 UTC.
 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, org.apache.logging.log4j.Marker marker, String fqcn, org.apache.logging.log4j.Level level, org.apache.logging.log4j.message.Message data, Throwable throwable, Map<String,String> map, org.apache.logging.log4j.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,
                      org.apache.logging.log4j.Marker marker,
                      String fqcn,
                      org.apache.logging.log4j.Level level,
                      org.apache.logging.log4j.message.Message data,
                      Throwable throwable,
                      Map<String,String> map,
                      org.apache.logging.log4j.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
Gets the logger name.

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

getMarker

public org.apache.logging.log4j.Marker getMarker()
Description copied from interface: LogEvent
Gets the Marker associated with the event.

Specified by:
getMarker in interface LogEvent
Returns:
Marker or null if no Marker was defined on this LogEvent

getLoggerFqcn

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

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

getLevel

public org.apache.logging.log4j.Level getLevel()
Description copied from interface: LogEvent
Gets the level.

Specified by:
getLevel in interface LogEvent
Returns:
level.

getMessage

public org.apache.logging.log4j.message.Message getMessage()
Description copied from interface: LogEvent
Gets the message associated with the event.

Specified by:
getMessage in interface LogEvent
Returns:
message.

getThrown

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

Convenience method for ThrowableProxy.getThrowable();

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

getThrownProxy

public ThrowableProxy getThrownProxy()
Description copied from interface: LogEvent
Gets throwable proxy associated with logging request.

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

getContextMap

public Map<String,String> getContextMap()
Description copied from interface: LogEvent
Gets the context map (also know as Mapped Diagnostic Context or MDC).

Specified by:
getContextMap in interface LogEvent
Returns:
The context map, never null.

getContextStack

public org.apache.logging.log4j.ThreadContext.ContextStack getContextStack()
Description copied from interface: LogEvent
Gets the context stack (also known as Nested Diagnostic Context or NDC).

Specified by:
getContextStack in interface LogEvent
Returns:
The context stack, never null.

getThreadName

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

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

getSource

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

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

getTimeMillis

public long getTimeMillis()
Description copied from interface: LogEvent
Gets event time in milliseconds since midnight, January 1, 1970 UTC.

Specified by:
getTimeMillis in interface LogEvent
Returns:
milliseconds since midnight, January 1, 1970 UTC.
See Also:
System.currentTimeMillis()

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.


createMemento

public LogEvent createMemento()
Creates and returns a new immutable copy of this RingBufferLogEvent.

Returns:
a new immutable copy of the data in this RingBufferLogEvent


Copyright © 1999-2014 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.