ch.qos.logback.classic.spi
Class LoggingEvent

java.lang.Object
  extended by 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
LoggingEvent()
           
LoggingEvent(String fqcn, Logger logger, Level level, String message, Throwable throwable, Object[] argArray)
           
 
Method Summary
 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


Copyright © 2005-2013 QOS.ch. All Rights Reserved.