001    /*--------------------------------------------------------------------------+
002    $Id: ILogger.java 26283 2010-02-18 11:18:57Z juergens $
003    |                                                                          |
004    | Copyright 2005-2010 Technische Universitaet Muenchen                     |
005    |                                                                          |
006    | Licensed under the Apache License, Version 2.0 (the "License");          |
007    | you may not use this file except in compliance with the License.         |
008    | You may obtain a copy of the License at                                  |
009    |                                                                          |
010    |    http://www.apache.org/licenses/LICENSE-2.0                            |
011    |                                                                          |
012    | Unless required by applicable law or agreed to in writing, software      |
013    | distributed under the License is distributed on an "AS IS" BASIS,        |
014    | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
015    | See the License for the specific language governing permissions and      |
016    | limitations under the License.                                           |
017    +--------------------------------------------------------------------------*/
018    package edu.tum.cs.commons.logging;
019    
020    /**
021     * This interface describes loggers. This interface does not provide methods for
022     * logging message at FATAL level as such issues should be signaled with
023     * exceptions.
024     * 
025     * @author Florian Deissenboeck
026     * @author Elmar Juergens
027     * @author $Author: juergens $
028     * @version $Rev: 26283 $
029     * @levd.rating GREEN Hash: 7BAA83754BC2D018DE28EDD00B64F683
030     */
031    public interface ILogger {
032    
033            /**
034             * Log message with level DEBUG.
035             * 
036             * @param message
037             *            log message.
038             */
039            public void debug(Object message);
040    
041            /**
042             * Log message with level DEBUG.
043             * 
044             * @param message
045             *            log message
046             * @param throwable
047             *            {@link Throwable} to be logged
048             */
049            public void debug(Object message, Throwable throwable);
050    
051            /**
052             * Log message with level INFO.
053             * 
054             * @param message
055             *            log message.
056             */
057            public void info(Object message);
058    
059            /**
060             * Log message with level INFO.
061             * 
062             * @param message
063             *            log message
064             * @param throwable
065             *            {@link Throwable} to be logged
066             */
067            public void info(Object message, Throwable throwable);
068    
069            /**
070             * Log message with level WARN.
071             * 
072             * @param message
073             *            log message.
074             */
075            public void warn(Object message);
076    
077            /**
078             * Log message with level WARN.
079             * 
080             * @param message
081             *            log message
082             * @param throwable
083             *            {@link Throwable} to be logged
084             */
085            public void warn(Object message, Throwable throwable);
086    
087            /**
088             * Log message with level ERROR.
089             * 
090             * @param message
091             *            log message.
092             */
093            public void error(Object message);
094    
095            /**
096             * Log message with level ERROR.
097             * 
098             * @param message
099             *            log message
100             * @param throwable
101             *            {@link Throwable} to be logged
102             */
103            public void error(Object message, Throwable throwable);
104    
105    }