public class RingBufferLogEvent extends Object implements LogEvent, ReusableMessage, CharSequence, ParameterVisitable
| Modifier and Type | Field and Description |
|---|---|
static org.apache.logging.log4j.core.async.RingBufferLogEvent.Factory |
FACTORY
The
EventFactory for RingBufferLogEvents. |
| Constructor and Description |
|---|
RingBufferLogEvent() |
| Modifier and Type | Method and Description |
|---|---|
char |
charAt(int index) |
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.
|
<S> void |
forEachParameter(ParameterConsumer<S> action,
S state) |
void |
formatTo(StringBuilder buffer) |
ReadOnlyStringMap |
getContextData()
Returns the
ReadOnlyStringMap object holding context data key-value pairs. |
Map<String,String> |
getContextMap()
Gets the context map (also know as Mapped Diagnostic Context or MDC).
|
ThreadContext.ContextStack |
getContextStack()
Gets the context stack (also known as Nested Diagnostic Context or NDC).
|
String |
getFormat() |
String |
getFormattedMessage() |
Instant |
getInstant()
Returns the Instant when the message was logged.
|
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.
|
Marker |
getMarker()
Gets the Marker associated with the event.
|
Message |
getMessage()
Gets the message associated with the event.
|
long |
getNanoTime()
Returns the value of the running Java Virtual Machine's high-resolution time source when this event was created,
or a dummy value if it is known that this value will not be used downstream.
|
short |
getParameterCount() |
Object[] |
getParameters() |
StackTraceElement |
getSource()
Gets the source of logging request.
|
long |
getThreadId()
Gets the thread ID.
|
String |
getThreadName()
Gets the thread name.
|
int |
getThreadPriority()
Gets the thread priority.
|
Throwable |
getThrowable() |
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.
|
void |
initializeBuilder(Log4jLogEvent.Builder builder)
Initializes the specified
Log4jLogEvent.Builder from this RingBufferLogEvent. |
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.
|
int |
length() |
Message |
memento() |
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 anAsyncLogger,
String aLoggerName,
Marker aMarker,
String theFqcn,
Level aLevel,
Message msg,
Throwable aThrowable,
StringMap mutableContextData,
ThreadContext.ContextStack aContextStack,
long threadId,
String threadName,
int threadPriority,
StackTraceElement aLocation,
Clock clock,
NanoClock nanoClock) |
CharSequence |
subSequence(int start,
int end) |
Object[] |
swapParameters(Object[] emptyReplacement)
Replaces this ReusableMessage's parameter array with the specified value and return the original array
|
LogEvent |
toImmutable()
Returns an immutable version of this log event, which MAY BE a copy of this event.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitchars, codePoints, toStringpublic static final org.apache.logging.log4j.core.async.RingBufferLogEvent.Factory FACTORY
EventFactory for RingBufferLogEvents.public void setValues(AsyncLogger anAsyncLogger, String aLoggerName, Marker aMarker, String theFqcn, Level aLevel, Message msg, Throwable aThrowable, StringMap mutableContextData, ThreadContext.ContextStack aContextStack, long threadId, String threadName, int threadPriority, StackTraceElement aLocation, Clock clock, NanoClock nanoClock)
public LogEvent toImmutable()
LogEventtoImmutable in interface LogEventpublic void execute(boolean endOfBatch)
endOfBatch - flag to indicate if this is the last event in a batch from the RingBufferpublic boolean isEndOfBatch()
true if this event is the end of a batch, false otherwise.isEndOfBatch in interface LogEventtrue if this event is the end of a batch, false otherwisepublic void setEndOfBatch(boolean endOfBatch)
LogEventimmediateFlush=true configuration.setEndOfBatch in interface LogEventendOfBatch - true if this event is the last one in a batch, false otherwise.public boolean isIncludeLocation()
LogEventStackTrace snapshot or not before handing off this event to
another thread.isIncludeLocation in interface LogEventtrue if the source of the logging request is required downstream, false otherwise.LogEvent.getSource()public void setIncludeLocation(boolean includeLocation)
LogEventStackTrace snapshot or not before handing off this event to
another thread.setIncludeLocation in interface LogEventincludeLocation - true if the source of the logging request is required downstream, false
otherwise.LogEvent.getSource()public String getLoggerName()
LogEventgetLoggerName in interface LogEventnull.public Marker getMarker()
LogEventpublic String getLoggerFqcn()
LogEventgetLoggerFqcn in interface LogEventpublic Message getMessage()
LogEventgetMessage in interface LogEventpublic String getFormattedMessage()
getFormattedMessage in interface MessageMessage.getFormattedMessage()public String getFormat()
getFormat in interface MessageMessage.getFormat()public Object[] getParameters()
getParameters in interface MessageMessage.getParameters()public Throwable getThrowable()
getThrowable in interface MessageMessage.getThrowable()public void formatTo(StringBuilder buffer)
formatTo in interface StringBuilderFormattableStringBuilderFormattable.formatTo(StringBuilder)public Object[] swapParameters(Object[] emptyReplacement)
swapParameters in interface ReusableMessageemptyReplacement - the parameter array that can be used for subsequent uses of this reusable messageReusableMessage.swapParameters(Object[])public short getParameterCount()
getParameterCount in interface ReusableMessagepublic <S> void forEachParameter(ParameterConsumer<S> action, S state)
forEachParameter in interface ParameterVisitablepublic Message memento()
memento in interface ReusableMessagepublic int length()
length in interface CharSequencepublic char charAt(int index)
charAt in interface CharSequencepublic CharSequence subSequence(int start, int end)
subSequence in interface CharSequencepublic Throwable getThrown()
LogEventConvenience method for ThrowableProxy.getThrowable();
public ThrowableProxy getThrownProxy()
LogEventgetThrownProxy in interface LogEventpublic ReadOnlyStringMap getContextData()
LogEventReadOnlyStringMap object holding context data key-value pairs.
Context data (also known as Mapped Diagnostic Context or MDC) is data that is set by the application to be
included in all subsequent log events. The default source for context data is the ThreadContext (and
properties
configured on the Logger that logged the event), but users can configure a custom ContextDataInjector
to inject key-value pairs from any arbitrary source.
getContextData in interface LogEventReadOnlyStringMap object holding context data key-value pairsContextDataInjector,
ThreadContextpublic Map<String,String> getContextMap()
LogEventgetContextMap in interface LogEventnull.public ThreadContext.ContextStack getContextStack()
LogEventgetContextStack in interface LogEventnull.public long getThreadId()
LogEventgetThreadId in interface LogEventpublic String getThreadName()
LogEventgetThreadName in interface LogEventpublic int getThreadPriority()
LogEventgetThreadPriority in interface LogEventpublic StackTraceElement getSource()
LogEventpublic long getTimeMillis()
LogEventLogEvent.getInstant() to get higher precision timestamp information if available on this platform.getTimeMillis in interface LogEventSystem.currentTimeMillis()public Instant getInstant()
LogEvent
Caution: if this LogEvent implementation is mutable and reused for multiple consecutive log messages,
then the Instant object returned by this method is also mutable and reused.
Client code should not keep a reference to the returned object but make a copy instead.
getInstant in interface LogEventInstant holding Instant details for this log eventpublic long getNanoTime()
LogEventgetNanoTime in interface LogEventpublic void clear()
public LogEvent createMemento()
RingBufferLogEvent.RingBufferLogEventpublic void initializeBuilder(Log4jLogEvent.Builder builder)
Log4jLogEvent.Builder from this RingBufferLogEvent.builder - the builder whose fields to populateCopyright © 1999-2021 The 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.