Package org.apache.log4j.bridge
Class LogEventWrapper
- java.lang.Object
-
- org.apache.log4j.bridge.LogEventWrapper
-
- All Implemented Interfaces:
java.io.Serializable,LogEvent
public class LogEventWrapper extends java.lang.Object implements LogEvent
Exposes a Log4j 1 logging event as a Log4j 2 LogEvent.- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static classLogEventWrapper.ContextDataMap
-
Field Summary
Fields Modifier and Type Field Description private LogEventWrapper.ContextDataMapcontextDataprivate MutableThreadContextStackcontextStackprivate LoggingEventeventprivate java.lang.Threadthread
-
Constructor Summary
Constructors Constructor Description LogEventWrapper(LoggingEvent event)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ReadOnlyStringMapgetContextData()Returns theReadOnlyStringMapobject holding context data key-value pairs.java.util.Map<java.lang.String,java.lang.String>getContextMap()Gets the context map (also know as Mapped Diagnostic Context or MDC).ThreadContext.ContextStackgetContextStack()Gets the context stack (also known as Nested Diagnostic Context or NDC).InstantgetInstant()Returns the Instant when the message was logged.LevelgetLevel()Gets the level.java.lang.StringgetLoggerFqcn()Returns the fully qualified class name of the caller of the logging API.java.lang.StringgetLoggerName()Gets the logger name.MarkergetMarker()Gets the Marker associated with the event.MessagegetMessage()Gets the message associated with the event.longgetNanoTime()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.java.lang.StackTraceElementgetSource()Gets the source of logging request.private java.lang.ThreadgetThread()longgetThreadId()Gets the thread ID.java.lang.StringgetThreadName()Gets the thread name.intgetThreadPriority()Gets the thread priority.java.lang.ThrowablegetThrown()Gets throwable associated with logging request.ThrowableProxygetThrownProxy()Gets throwable proxy associated with logging request.longgetTimeMillis()Gets event time in milliseconds since midnight, January 1, 1970 UTC.booleanisEndOfBatch()Returnstrueif this event is the last one in a batch,falseotherwise.booleanisIncludeLocation()Returns whether the source of the logging request is required downstream.voidsetEndOfBatch(boolean endOfBatch)Sets whether this event is the last one in a batch.voidsetIncludeLocation(boolean locationRequired)Sets whether the source of the logging request is required downstream.LogEventtoImmutable()Returns an immutable version of this log event, which MAY BE a copy of this event.
-
-
-
Field Detail
-
event
private final LoggingEvent event
-
contextData
private final LogEventWrapper.ContextDataMap contextData
-
contextStack
private final MutableThreadContextStack contextStack
-
thread
private java.lang.Thread thread
-
-
Constructor Detail
-
LogEventWrapper
public LogEventWrapper(LoggingEvent event)
-
-
Method Detail
-
toImmutable
public LogEvent toImmutable()
Description copied from interface:LogEventReturns an immutable version of this log event, which MAY BE a copy of this event.- Specified by:
toImmutablein interfaceLogEvent- Returns:
- an immutable version of this log event
-
getContextMap
public java.util.Map<java.lang.String,java.lang.String> getContextMap()
Description copied from interface:LogEventGets the context map (also know as Mapped Diagnostic Context or MDC).- Specified by:
getContextMapin interfaceLogEvent- Returns:
- The context map, never
null.
-
getContextData
public ReadOnlyStringMap getContextData()
Description copied from interface:LogEventReturns theReadOnlyStringMapobject 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 customContextDataInjectorto inject key-value pairs from any arbitrary source.- Specified by:
getContextDatain interfaceLogEvent- Returns:
- the
ReadOnlyStringMapobject holding context data key-value pairs - See Also:
ContextDataInjector,ThreadContext
-
getContextStack
public ThreadContext.ContextStack getContextStack()
Description copied from interface:LogEventGets the context stack (also known as Nested Diagnostic Context or NDC).- Specified by:
getContextStackin interfaceLogEvent- Returns:
- The context stack, never
null.
-
getLoggerFqcn
public java.lang.String getLoggerFqcn()
Description copied from interface:LogEventReturns the fully qualified class name of the caller of the logging API.- Specified by:
getLoggerFqcnin interfaceLogEvent- Returns:
- The fully qualified class name of the caller.
-
getLoggerName
public java.lang.String getLoggerName()
Description copied from interface:LogEventGets the logger name.- Specified by:
getLoggerNamein interfaceLogEvent- Returns:
- logger name, may be
null.
-
getMarker
public Marker getMarker()
Description copied from interface:LogEventGets the Marker associated with the event.
-
getMessage
public Message getMessage()
Description copied from interface:LogEventGets the message associated with the event.- Specified by:
getMessagein interfaceLogEvent- Returns:
- message.
-
getTimeMillis
public long getTimeMillis()
Description copied from interface:LogEventGets event time in milliseconds since midnight, January 1, 1970 UTC. UseLogEvent.getInstant()to get higher precision timestamp information if available on this platform.- Specified by:
getTimeMillisin interfaceLogEvent- Returns:
- the milliseconds component of this log event's timestamp
- See Also:
System.currentTimeMillis()
-
getInstant
public Instant getInstant()
Description copied from interface:LogEventReturns the Instant when the message was logged.Caution: if this
LogEventimplementation is mutable and reused for multiple consecutive log messages, then theInstantobject 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.- Specified by:
getInstantin interfaceLogEvent- Returns:
- the
Instantholding Instant details for this log event
-
getSource
public java.lang.StackTraceElement getSource()
Description copied from interface:LogEventGets the source of logging request.
-
getThreadName
public java.lang.String getThreadName()
Description copied from interface:LogEventGets the thread name.- Specified by:
getThreadNamein interfaceLogEvent- Returns:
- thread name, may be null. TODO guess this could go into a thread context object too. (RG) Why?
-
getThreadId
public long getThreadId()
Description copied from interface:LogEventGets the thread ID.- Specified by:
getThreadIdin interfaceLogEvent- Returns:
- thread ID.
-
getThreadPriority
public int getThreadPriority()
Description copied from interface:LogEventGets the thread priority.- Specified by:
getThreadPriorityin interfaceLogEvent- Returns:
- thread priority.
-
getThread
private java.lang.Thread getThread()
-
getThrown
public java.lang.Throwable getThrown()
Description copied from interface:LogEventGets throwable associated with logging request.Convenience method for
ThrowableProxy.getThrowable();
-
getThrownProxy
public ThrowableProxy getThrownProxy()
Description copied from interface:LogEventGets throwable proxy associated with logging request.- Specified by:
getThrownProxyin interfaceLogEvent- Returns:
- throwable, may be null.
-
isEndOfBatch
public boolean isEndOfBatch()
Description copied from interface:LogEventReturnstrueif this event is the last one in a batch,falseotherwise. Used by asynchronous Loggers and Appenders to signal to buffered downstream components when to flush to disk, as a more efficient alternative to theimmediateFlush=trueconfiguration.- Specified by:
isEndOfBatchin interfaceLogEvent- Returns:
- whether this event is the last one in a batch.
-
isIncludeLocation
public boolean isIncludeLocation()
Description copied from interface:LogEventReturns whether the source of the logging request is required downstream. Asynchronous Loggers and Appenders use this flag to determine whether to take aStackTracesnapshot or not before handing off this event to another thread.- Specified by:
isIncludeLocationin interfaceLogEvent- Returns:
trueif the source of the logging request is required downstream,falseotherwise.- See Also:
LogEvent.getSource()
-
setEndOfBatch
public void setEndOfBatch(boolean endOfBatch)
Description copied from interface:LogEventSets 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 theimmediateFlush=trueconfiguration.- Specified by:
setEndOfBatchin interfaceLogEvent- Parameters:
endOfBatch-trueif this event is the last one in a batch,falseotherwise.
-
setIncludeLocation
public void setIncludeLocation(boolean locationRequired)
Description copied from interface:LogEventSets whether the source of the logging request is required downstream. Asynchronous Loggers and Appenders use this flag to determine whether to take aStackTracesnapshot or not before handing off this event to another thread.- Specified by:
setIncludeLocationin interfaceLogEvent- Parameters:
locationRequired-trueif the source of the logging request is required downstream,falseotherwise.- See Also:
LogEvent.getSource()
-
getNanoTime
public long getNanoTime()
Description copied from interface:LogEventReturns 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.- Specified by:
getNanoTimein interfaceLogEvent- Returns:
- The value of the running Java Virtual Machine's high-resolution time source when this event was created.
-
-