package es.ejie.frmk.infraestructura.logs.incidencias;



/**
 * Interface del Log específico para guardar datos relativos a incidencias, excepciones.
 */
public interface Q70LogIncidenciasInterface {
	
	/**
	 * Devuelve true si el Log está activado. 
	 * 
	 * @return True si el Log está activado. False, en caso contrario.
	 */
	public boolean isEnabled();
	
	/**
	 * Presenta una incidencia en el Log, informando de la excepcion, el componente y la gravedad.
	 * 
	 * @param e Excepción que provocó la incidencia
	 * @param componente Componente que provocó la incidencia
	 * @param gravedad Nivel de gravedad de la incidencia
	 */
	public void log(Throwable e, String componente, String gravedad);
	
	/**
	 * Presenta una incidencia en el Log, informando de la excepcion y el componente.
	 * 
	 * @param e Excepción que provocó la incidencia
	 * @param componente Componente que provocó la incidencia
	 */
	public void log(Throwable e, String componente);
	
	/**
	 * Presenta una incidencia en el Log, con nivel ERROR y para el componente de Gestor de Excepciones.
	 * 
	 * @param e Excepción que provocó la incidencia
	 */
	public void log(Throwable e);
}
