public class MutableLogEvent extends Object implements LogEvent, ReusableMessage
LogEvent interface.| Constructor and Description |
|---|
MutableLogEvent() |
MutableLogEvent(StringBuilder msgText,
Object[] replacementParameters) |
| Modifier and Type | Method and Description |
|---|---|
void |
clear()
Clears all references this event has to other objects.
|
Log4jLogEvent |
createMemento()
Creates and returns a new immutable copy of this
MutableLogEvent. |
void |
formatTo(StringBuilder buffer)
Writes a text representation of this object into the specified
StringBuilder, ideally without allocating
temporary objects. |
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()
Gets the format portion of the Message.
|
String |
getFormattedMessage()
Gets the Message formatted as a String.
|
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()
Returns the number of parameters that was used to initialize this reusable message for the current content.
|
Object[] |
getParameters()
Gets parameter values, if any.
|
StackTraceElement |
getSource()
Returns the StackTraceElement for the caller.
|
long |
getThreadId()
Gets the thread ID.
|
String |
getThreadName()
Gets the thread name.
|
int |
getThreadPriority()
Gets the thread priority.
|
Throwable |
getThrowable()
Gets the throwable, if any.
|
Throwable |
getThrown()
Gets throwable associated with logging request.
|
ThrowableProxy |
getThrownProxy()
Returns the ThrowableProxy associated with the event, or null.
|
long |
getTimeMillis()
Gets event time in milliseconds since midnight, January 1, 1970 UTC.
|
void |
initFrom(LogEvent event)
Initialize the fields of this
MutableLogEvent from another event. |
void |
initializeBuilder(Log4jLogEvent.Builder builder)
Initializes the specified
Log4jLogEvent.Builder from this MutableLogEvent. |
boolean |
isEndOfBatch()
Returns
true if this event is the last one in a batch, false otherwise. |
boolean |
isIncludeLocation()
Returns whether the source of the logging request is required downstream.
|
Message |
memento()
Returns an immutable snapshot of the current internal state of this reusable message.
|
void |
setContextData(StringMap mutableContextData) |
void |
setContextStack(ThreadContext.ContextStack contextStack) |
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 |
setLevel(Level level) |
void |
setLoggerFqcn(String loggerFqcn) |
void |
setLoggerName(String loggerName) |
void |
setMarker(Marker marker) |
void |
setMessage(Message msg) |
void |
setNanoTime(long nanoTime) |
void |
setThreadId(long threadId) |
void |
setThreadName(String threadName) |
void |
setThreadPriority(int threadPriority) |
void |
setThrown(Throwable thrown) |
void |
setTimeMillis(long timeMillis) |
Object[] |
swapParameters(Object[] emptyReplacement)
Replaces this ReusableMessage's parameter array with the specified value and return the original array
|
protected Object |
writeReplace()
Creates a LogEventProxy that can be serialized.
|
public MutableLogEvent()
public MutableLogEvent(StringBuilder msgText, Object[] replacementParameters)
public void initFrom(LogEvent event)
MutableLogEvent from another event.
Similar in purpose and usage as Log4jLogEvent.LogEventProxy,
but a mutable version.
This method is used on async logger ringbuffer slots holding MutableLogEvent objects in each slot.
event - the event to copy data frompublic void clear()
public String getLoggerFqcn()
LogEventgetLoggerFqcn in interface LogEventpublic void setLoggerFqcn(String loggerFqcn)
public Marker getMarker()
LogEventpublic void setMarker(Marker marker)
public void setLevel(Level level)
public String getLoggerName()
LogEventgetLoggerName in interface LogEventnull.public void setLoggerName(String loggerName)
public Message getMessage()
LogEventgetMessage in interface LogEventpublic void setMessage(Message msg)
public String getFormattedMessage()
Message
This method will not be called for Messages that implement the
StringBuilderFormattable interface: instead, the
formatTo(StringBuilder) method will be called so the
Message can format its contents without creating intermediate String objects.
getFormattedMessage in interface MessageMessage.getFormattedMessage()public String getFormat()
MessagegetFormat in interface MessageMessage.getFormat()public Object[] getParameters()
MessagegetParameters in interface MessageMessage.getParameters()public Throwable getThrowable()
MessagegetThrowable in interface MessageMessage.getThrowable()public void formatTo(StringBuilder buffer)
StringBuilderFormattableStringBuilder, ideally without allocating
temporary objects.formatTo in interface StringBuilderFormattablebuffer - the StringBuilder to write intoStringBuilderFormattable.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()
ReusableMessage
The parameter array returned by ReusableMessage.swapParameters(Object[]) may be larger than the actual number of
parameters. Callers should use this method to determine how many elements the array contains.
getParameterCount in interface ReusableMessagepublic Message memento()
ReusableMessagememento in interface ReusableMessagepublic Throwable getThrown()
LogEventConvenience method for ThrowableProxy.getThrowable();
public void setThrown(Throwable thrown)
public long getTimeMillis()
LogEventgetTimeMillis in interface LogEventSystem.currentTimeMillis()public void setTimeMillis(long timeMillis)
public ThrowableProxy getThrownProxy()
getThrownProxy in interface LogEventpublic StackTraceElement getSource()
public 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 void setContextData(StringMap mutableContextData)
public ThreadContext.ContextStack getContextStack()
LogEventgetContextStack in interface LogEventnull.public void setContextStack(ThreadContext.ContextStack contextStack)
public long getThreadId()
LogEventgetThreadId in interface LogEventpublic void setThreadId(long threadId)
public String getThreadName()
LogEventgetThreadName in interface LogEventpublic void setThreadName(String threadName)
public int getThreadPriority()
LogEventgetThreadPriority in interface LogEventpublic void setThreadPriority(int threadPriority)
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 boolean isEndOfBatch()
LogEventtrue if this event is the last one in a batch, false otherwise. 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.isEndOfBatch in interface LogEventpublic 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 long getNanoTime()
LogEventgetNanoTime in interface LogEventpublic void setNanoTime(long nanoTime)
protected Object writeReplace()
public Log4jLogEvent createMemento()
MutableLogEvent.
If isIncludeLocation() is true, this will obtain caller location information.MutableLogEventpublic void initializeBuilder(Log4jLogEvent.Builder builder)
Log4jLogEvent.Builder from this MutableLogEvent.builder - the builder whose fields to populateCopyright © 1999-2017 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.