package common.log;

import common.color.TextColor;
import common.util.Displayable;
import common.util.Identifyable;

public enum LogLevel implements Displayable, Identifyable {
	SILENT("silent", "Nichts", "UNK?", TextColor.BLACK),
	USER("user", "Benutzer", "USER", TextColor.WHITE),
	ERROR("error", "Fehler", "ERR!", TextColor.RED),
	WARN("warn", "Warnung", "WARN", TextColor.YELLOW),
	INFO("info", "Info", "INFO", TextColor.BLUE),
	PERF("perf", "Leistung", "PERF", TextColor.CYAN),
	DEBUG("debug", "*Debug*", "DBG#", TextColor.MAGENTA),
	TRACE("trace", "*Trace*", "TRC#", TextColor.VIOLET);

	public final String id;
	public final String name;
	public final String log;
	public final TextColor color;
	
	private LogLevel(String id, String name, String log, TextColor color) {
		this.id = id;
		this.name = name;
		this.log = log;
		this.color = color;
	}
	
	public String getName() {
		return this.id;
	}
	
	public String getDisplay() {
		return this.name;
	}
}