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 log4j components.
This class is of concern to those wishing to extend log4j.
Writers of log4j components such as appenders and receivers 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 {@link #prepareForDeferredProcessing()} method for the exact list.
Moreover, in the absence of certain fields, receivers must set the values of null fields to a default non-null value. For example, in the absence of the locationInfo data, the locationInfo field should be set to {@link org.apache.log4j.spi.location.LocationInfo#NA_LOCATION_INFO LocationInfo.NA_LOCATION_INFO}.
@author Ceki Gülcü
@author James P. Cakalic