package q53_util;

import java.io.PrintStream;

import com.cidat.proclets.ProcletException;
import com.cidat.proclets.ProcletServiceData;

// Referenced classes of package com.cidat.proclets:
//            Proclet, ProcletException, ProcletServiceData

public class q53LogEstadisticas
    //implements Proclet
{

    public String filenameExpr;
    String logLineExpr;
    public static final String DEF_LOG_DIR = "logs";
    private static PrintStream ps  = null;
    private static q53Logger logger = new q53Logger();
//DEPRECATED    
    public q53LogEstadisticas(String filenameExpr, String logLineExpr)
    {
        this.filenameExpr = filenameExpr;
        this.logLineExpr = logLineExpr;
        
    }
//DEPRECATED
    public void process(ProcletServiceData sd)
        throws ProcletException
    {
        String filename = sd.evalExpr(filenameExpr);
        String logLine = sd.evalExpr(logLineExpr);
        log(sd.getLogFilePath(), filename, logLine);
    }
//DEPRECATED
    public static void log(String logFilePath, String filename, String logLine)
    {
    	logger.printLog(logLine);
    }
//DEPRECATED
    public static void log(String logFilePath, String filename, Exception e)
    {
    	logger.printError("", e);
  	}
    /**
	 * Imprime un mensaje de error al log
	 * 
	 * @param mensaje
	 */
	public static void printError(String mensaje, Exception e) {
		logger.printError(mensaje, e);
	}

	/**
	 * Imprime un mensaje de loggeo al log
	 * 
	 * @param mensaje
	 */
	public static void printLog(String mensaje) {
		logger.printLog(mensaje);
	}

	/**
	 * Imprime un mensaje de informacion al log
	 * 
	 * @param mensaje
	 */
	public static void printInfo(String mensaje) {
		logger.printInfo(mensaje);
	}

	/**
	 * * Imprime una sentencia sql al log * *
	 * 
	 * @param mensaje
	 */
	public static void printSql(String mensaje) {
		logger.printSql(mensaje);
	}
	
	/**
	 * Imprime un mensaje al log
	 * 
	 * @param mensaje
	 */
	public static void printDebug(String mensaje) {
		logger.printDebug(mensaje);
	}

	/**
	 * Imprime un mensaje de warning al log
	 * 
	 * @param mensaje
	 */
	public static void printWarning(String mensaje) {
		logger.printWarning(mensaje);
	}
	
	/**
	 * Imprime un mensaje de warning al log
	 * Sobrecarga del metodo para mostrar informacion de una excepcion
	 * no critica que ha sido controlada en la aplicacion
	 * 
	 * @param mensaje
	 * @param e 
	 */
	public static void printWarning(String mensaje, Exception e) {
		logger.printWarning(mensaje + " " + e.getMessage() + ": " + e.getCause());
	}
	
	/**
	 * Imprime el nombre de una variable y su valor al log
	 * 
	 * @param mensaje
	 */
	public static void printVariable(Object obj, String var){
		logger.printVariable(obj, var);
    }
    
}
