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 and Description
`LoggingEvent()`
`LoggingEvent(String fqcn, Logger logger, Level level, String message, Throwable throwable, Object[] argArray)`

### Method Summary

All Methods Instance Methods Concrete Methods Deprecated Methods
`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 Detail

#### LoggingEvent

    public LoggingEvent()

#### LoggingEvent

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

### Method Detail

#### 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 `ILoggingEvent`
Specified by:
  `prepareForDeferredProcessing` in interface `DeferredProcessingAware`

#### 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`