package es.ejie.frmk.infraestructura.logs.base.interfaces;

import es.ejie.frmk.control.excepciones.Q70FrameworkException;
import es.ejie.frmk.infraestructura.logs.base.Q70ConfiguracionLogs;
import es.ejie.frmk.infraestructura.utilidades.configurador.Q70Administrable;

/**
 * @version 1.0
 * Fecha: 22-feb-06
 */
public interface Q70LogServidorInterface extends Q70Administrable{
	
	/**
	 * Proporciona acceso a los datos comunes que comparten los logs (id_usuario, id_sesion...)
	 * 
	 * @return Un objeto <code>Q70GestorDatosComunes</code>
	 */
	public Q70GestorDatosComunes getCommonDataManager();
	
	/**
	 * Recupera la configuración de todos los logs definidos en el fichero xml de configuración.
	 * 
	 * @return Un objeto <code>Q70ConfiguracionLogs</code>
	 */
	public Q70ConfiguracionLogs getConfiguracionLogs();
	
	/**
	 * Estable la configuración de todos los logs mediante el parámetro al efecto.
	 * 
	 * @param confLog Nueva configuracion de logs para el componente
	 * @throws Q70FrameworkException
	 */
	public void setConfiguracionLogs(Q70ConfiguracionLogs confLog) throws Q70FrameworkException;
	
	/**
	 * Devuelve el Log correspondiente al id pasado como parámetro
	 *  (id definidos en la clase de constantes del componente)
	 *  
	 * @return Un objeto correspondiente a la configuracion de log demandada
	 */
	public Object getLog(String logName);
		
}