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    /**
027     * List of markers in the event, might be null.
028     * @return markers in the event, might be null.
029     */
030    List<Marker> getMarkers();
031
032    List<KeyValuePair> getKeyValuePairs();
033
034    Throwable getThrowable();
035
036    long getTimeStamp();
037
038    String getThreadName();
039 
040    /**
041     * Returns the presumed caller boundary provided by the logging library (not the user of the library). 
042     * Null by default.
043     *  
044     * @return presumed caller, null by default.
045     */
046    default String getCallerBoundary() {
047        return null;
048    }
049}