Package ch.qos.logback.classic.spi

# Class LoggingEvent

java.lang.Object
ch.qos.logback.classic.spi.LoggingEvent

All Implemented Interfaces:
  `ILoggingEvent`, `DeferredProcessingAware`

public class LoggingEvent extends Object implements ILoggingEvent
The internal representation of logging events. When an affirmative decision is made to log then a `LoggingEvent` instance is created. This instance is passed around to the different logback-classic components.

Writers of logback-classic components such as appenders should be aware of that some of the LoggingEvent fields are initialized lazily. Therefore, an appender wishing to output data to be later correctly read by a receiver, must initialize "lazy" fields prior to writing them out. See the `prepareForDeferredProcessing()` method for the exact list.

Author:
  Ceki Gülcü, Sébastien Pennec

## Constructor Summary

Constructors
Constructor
Description
`LoggingEvent()`
`LoggingEvent(String fqcn, Logger logger, Level level, String message, Throwable throwable, Object[] argArray)`

## Method Summary

Modifier and Type
Method
Description
`Object[]`
`getArgumentArray()`
`StackTraceElement[]`
`getCallerData()`
Get the caller information for this logging event.
`long`
`getContextBirthTime()`
`String`
`getFormattedMessage()`
`Level`
`getLevel()`
`LoggerContextVO`
`getLoggerContextVO()`
`String`
`getLoggerName()`
`org.slf4j.Marker`
`getMarker()`
`Map<String,String>`
`getMdc()`
Deprecated.
Replaced by [@link #getMDCPropertyMap}
`Map<String,String>`
`getMDCPropertyMap()`
Returns the MDC map.
`String`
`getMessage()`
`String`
`getThreadName()`
`IThrowableProxy`
`getThrowableProxy()`
Returns the throwable information contained within this event.
`long`
`getTimeStamp()`
`boolean`
`hasCallerData()`
If this event has caller data, then true is returned.
`void`
`prepareForDeferredProcessing()`
This method should be called prior to serializing an event.
`void`
`setArgumentArray(Object[] argArray)`
`void`
`setCallerData(StackTraceElement[] callerDataArray)`
`void`
`setLevel(Level level)`
`void`
`setLoggerContextRemoteView(LoggerContextVO loggerContextVO)`
`void`
`setLoggerName(String loggerName)`
`void`
`setMarker(org.slf4j.Marker marker)`
`void`
`setMDCPropertyMap(Map<String,String> map)`
Set the MDC map for this event.
`void`
`setMessage(String message)`
`void`
`setThreadName(String threadName)`
`void`
`setThrowableProxy(ThrowableProxy tp)`
Set this event's throwable information.
`void`
`setTimeStamp(long timeStamp)`
`String`
`toString()`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

## Constructor Details

### LoggingEvent

public LoggingEvent()

### LoggingEvent

public LoggingEvent(String fqcn, Logger logger, Level level, String message, Throwable throwable, Object[] argArray)

## Method Details

### setArgumentArray

public void setArgumentArray(Object[] argArray)

### getArgumentArray

public Object[] getArgumentArray()

Specified by:
  `getArgumentArray` in interface `ILoggingEvent`

### getLevel

public Level getLevel()

Specified by:
  `getLevel` in interface `ILoggingEvent`

### getLoggerName

public String getLoggerName()

Specified by:
  `getLoggerName` in interface `ILoggingEvent`

### setLoggerName

public void setLoggerName(String loggerName)

### getThreadName

public String getThreadName()

Specified by:
  `getThreadName` in interface `ILoggingEvent`

### setThreadName

public void setThreadName(String threadName) throws IllegalStateException

Parameters:
  `threadName` - The threadName to set.
Throws:
  `IllegalStateException` - If threadName has been already set.

### getThrowableProxy

public IThrowableProxy getThrowableProxy()
Returns the throwable information contained within this event. May be `null` if there is no such information.

Specified by:
  `getThrowableProxy` in interface `ILoggingEvent`

### setThrowableProxy

public void setThrowableProxy(ThrowableProxy tp)
Set this event's throwable information.

### prepareForDeferredProcessing

public void prepareForDeferredProcessing()
This method should be called prior to serializing an event. It should also be called when using asynchronous or deferred logging.

Note that due to performance concerns, this method does NOT extract caller data. It is the responsibility of the caller to extract caller information.

Specified by:
  `prepareForDeferredProcessing` in interface `DeferredProcessingAware`
Specified by:
  `prepareForDeferredProcessing` in interface `ILoggingEvent`

### getLoggerContextVO

public LoggerContextVO getLoggerContextVO()

Specified by:
  `getLoggerContextVO` in interface `ILoggingEvent`

### setLoggerContextRemoteView

public void setLoggerContextRemoteView(LoggerContextVO loggerContextVO)

### getMessage

public String getMessage()

Specified by:
  `getMessage` in interface `ILoggingEvent`

### setMessage

public void setMessage(String message)

### getTimeStamp

public long getTimeStamp()

Specified by:
  `getTimeStamp` in interface `ILoggingEvent`

### setTimeStamp

public void setTimeStamp(long timeStamp)

### setLevel

public void setLevel(Level level)

### getCallerData

public StackTraceElement[] getCallerData()
Get the caller information for this logging event. If caller information is null at the time of its invocation, this method extracts location information. The collected information is cached for future use.

Note that after serialization it is impossible to correctly extract caller information.

Specified by:
  `getCallerData` in interface `ILoggingEvent`
Returns:
  the caller data associated with this event.
See Also:
  - `ILoggingEvent.hasCallerData()`

### hasCallerData

public boolean hasCallerData()
Description copied from interface: `ILoggingEvent`
If this event has caller data, then true is returned. Otherwise the returned value is null.

Logback components wishing to use caller data if available without causing it to be computed can invoke this method before invoking `ILoggingEvent.getCallerData()`.

Specified by:
  `hasCallerData` in interface `ILoggingEvent`
Returns:
  whether this event has caller data

### setCallerData

public void setCallerData(StackTraceElement[] callerDataArray)

### getMarker

public org.slf4j.Marker getMarker()

Specified by:
  `getMarker` in interface `ILoggingEvent`

### setMarker

public void setMarker(org.slf4j.Marker marker)

### getContextBirthTime

public long getContextBirthTime()

### getFormattedMessage

public String getFormattedMessage()

Specified by:
  `getFormattedMessage` in interface `ILoggingEvent`

### getMDCPropertyMap

public Map<String,String> getMDCPropertyMap()
Description copied from interface: `ILoggingEvent`
Returns the MDC map. The returned value can be an empty map but not null.

Specified by:
  `getMDCPropertyMap` in interface `ILoggingEvent`

### setMDCPropertyMap

public void setMDCPropertyMap(Map<String,String> map)
Set the MDC map for this event.

Parameters:
  `map` -
Since:
  1.0.8

### getMdc

public Map<String,String> getMdc()
Deprecated.
Replaced by [@link #getMDCPropertyMap}
Synonym for [@link #getMDCPropertyMap}.

Specified by:
  `getMdc` in interface `ILoggingEvent`

### toString

public String toString()

Overrides:
  `toString` in class `Object`