001    /* ========================================================================
002     * JCommon : a free general purpose class library for the Java(tm) platform
003     * ========================================================================
004     *
005     * (C) Copyright 2000-2005, by Object Refinery Limited and Contributors.
006     * 
007     * Project Info:  http://www.jfree.org/jcommon/index.html
008     *
009     * This library is free software; you can redistribute it and/or modify it 
010     * under the terms of the GNU Lesser General Public License as published by 
011     * the Free Software Foundation; either version 2.1 of the License, or 
012     * (at your option) any later version.
013     *
014     * This library is distributed in the hope that it will be useful, but 
015     * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 
016     * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public 
017     * License for more details.
018     *
019     * You should have received a copy of the GNU Lesser General Public
020     * License along with this library; if not, write to the Free Software
021     * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, 
022     * USA.  
023     *
024     * [Java is a trademark or registered trademark of Sun Microsystems, Inc. 
025     * in the United States and other countries.]
026     * 
027     * --------------
028     * LogTarget.java
029     * --------------
030     * (C)opyright 2002-2004, by Object Refinery Limited.
031     *
032     * $Id: LogTarget.java,v 1.3 2005/11/14 10:55:59 mungady Exp $
033     *
034     * Changes
035     * -------
036     * 11-May-2002 : Initial version
037     * 06-Dec-2002 : LogTargets now use Object-Parameters instead of Strings.
038     * 05-Feb-2003 : Removed unnecessary methods.
039     * 29-Apr-2003 : Distilled from the JFreeReport project and moved into JCommon
040     * 
041     */
042    
043    package org.jfree.util;
044    
045    /**
046     * An interface that defines a log target (a consumer of log messages).  Classes which
047     * implement this interface can be registered with the {@link org.jfree.util.Log} class
048     * and will then receive logging messages generated by the code.
049     *
050     * @author Thomas Morgner
051     */
052    public interface LogTarget {
053    
054        /**
055         * Loglevel ERROR.
056         */
057        public static final int ERROR = 0;
058    
059        /**
060         * Loglevel WARN.
061         */
062        public static final int WARN = 1;
063    
064        /**
065         * Loglevel INFO.
066         */
067        public static final int INFO = 2;
068    
069        /**
070         * Loglevel DEBUG.
071         */
072        public static final int DEBUG = 3;
073    
074        /** Strings for the log levels. */
075        public static final String[] LEVELS =
076            {
077                "ERROR: ",
078                "WARN:  ",
079                "INFO:  ",
080                "DEBUG: "
081            };
082    
083        /**
084         * Logs a message at a specified log level.
085         *
086         * @param level  the log level.
087         * @param message  the log message.
088         */
089        public void log(int level, Object message);
090    
091        /**
092         * Logs a message at a specified log level.
093         *
094         * @param level  the log level.
095         * @param message  the log message.
096         * @param e  the exception
097         */
098        public void log(int level, Object message, Exception e);
099    }