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 Details

  • 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)
    • getSequenceNumber

      public long getSequenceNumber()
      Description copied from interface: ILoggingEvent
      The sequence number associated with this event.

      Sequence numbers, if present, should be increasing monotonically.

      Specified by:
      getSequenceNumber in interface ILoggingEvent
    • setSquenceNumber

      public void setSquenceNumber(long sn)
    • 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