/*
 * Created on Dec 24, 2004
 *
 * TODO To change the template for this generated file go to
 * Window - Preferences - Java - Code Style - Code Templates
 */
package com.prolixtech.utils;

import java.util.logging.Level;

import com.prolixtech.jaminid.Request;


/**
 * @author Constantinos Michael
 *
 */
public interface MboxLogger {

    public void baloon(String msg, String title);


    /**
     * The main logging function is set by default to output to the console. If
     * we require better logging in the future, perhaps a number of streams will
     * be made. The default operation prints the last function called (gets it
     * through a stacktrace) the message, the time.
     * 
     * @param vel
     *            the level of the message to log.
     * @see java.util.logging.Level
     * @param msg
     *            the message to log.
     */
    public void log(Level vel, String msg);

    /*
     * The following specialized logging levels permit submission of messages
     * without importation of java.util.logging
     */public void fine(String msg);

    /**
     * Shortcut to submit a log message at the level SEVERE
     * 
     * @param msg
     *            the message to submit
     */
    public void severe(String msg);

    /**
     * Shortcut to submit a log message at the level WARNING
     * 
     * @param msg
     *            the message to submit
     */
    public void warning(String msg);

    /**
     * Shortcut to submit a log message at the level INFO
     * 
     * @param msg
     *            the message to submit
     */
    public void info(String msg);

    /*
     * following are specialized levels that enable categorization into types of
     * messages.
     */public void sql(String msg);

    /**
     * Specialized submit for HTTP messages
     * 
     * @param msg
     *            the message to submit
     */
    public void http(Request req, String msg);

    /**
     * 
     */
    public void disableBaloons();

    public void exception(Level x, String msg, Exception e);

    public void exception(String msg, Exception e);
}