001package org.slf4j.event;
002
003import java.util.List;
004
005import org.slf4j.Marker;
006
007/**
008 * The minimal interface sufficient for the restitution of data passed
009 * by the user to the SLF4J API.
010 * 
011 * @author Ceki Gülcü
012 * @since 1.7.15
013 */
014public interface LoggingEvent {
015
016    Level getLevel();
017
018    String getLoggerName();
019
020    String getMessage();
021
022    List<Object> getArguments();
023
024    Object[] getArgumentArray();
025
026    List<Marker> getMarkers();
027
028    List<KeyValuePair> getKeyValuePairs();
029
030    Throwable getThrowable();
031
032    long getTimeStamp();
033
034    String getThreadName();
035 
036    /**
037     * Returns the presumed caller boundary provided by the logging library (not the user of the library). 
038     * Null by default.
039     *  
040     * @return presumed caller, null by default.
041     */
042    default String getCallerBoundary() {
043        return null;
044    }
045}