001/** 002 * Logback: the reliable, generic, fast and flexible logging framework. 003 * Copyright (C) 1999-2015, QOS.ch. All rights reserved. 004 * 005 * This program and the accompanying materials are dual-licensed under 006 * either the terms of the Eclipse Public License v1.0 as published by 007 * the Eclipse Foundation 008 * 009 * or (per the licensee's choosing) 010 * 011 * under the terms of the GNU Lesser General Public License version 2.1 012 * as published by the Free Software Foundation. 013 */ 014package ch.qos.logback.core.status; 015 016import java.util.Iterator; 017 018public interface Status { 019 020 int INFO = 0; 021 int WARN = 1; 022 int ERROR = 2; 023 024 int getLevel(); 025 026 int getEffectiveLevel(); 027 028 Object getOrigin(); 029 030 String getMessage(); 031 032 Throwable getThrowable(); 033 034 /** 035 * @eprecated. Use getTimestamp instead. 036 * @return 037 */ 038 @Deprecated 039 default Long getDate() { 040 return getTimestamp(); 041 } 042 043 long getTimestamp(); 044 045 boolean hasChildren(); 046 047 void add(Status child); 048 049 boolean remove(Status child); 050 051 Iterator<Status> iterator(); 052 053}