/*
* This program is free software; you can redistribute it and/or modify it under the
* terms of the GNU Lesser General Public License, version 2.1 as published by the Free Software
* Foundation.
*
* You should have received a copy of the GNU Lesser General Public License along with this
* program; if not, you can obtain a copy at http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html
* or from the Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
* This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU Lesser General Public License for more details.
*
* Copyright 2005 - 2008 Pentaho Corporation. All rights reserved.
*
* @created May 3, 2005
* @author James Dixon
*
*/
package org.pentaho.platform.api.engine;
/**
* The Logger is the main interface into the platform's logging subsystem.
* <p>
* Note: Documentation taken from <a
* href="http://logging.apache.org/log4j/docs/api/index.html"
* target="_blank">Log4j Javadoc documentation.</a>
*/
public interface ILogger {
/**
* The TRACE has the lowest possible rank and is intended to turn on all
* logging.
*/
public static final int TRACE = 1;
/**
* The DEBUG Level designates fine-grained informational events that are
* most useful to debug an application.
*/
public static final int DEBUG = 2;
/**
* The INFO level designates informational messages that highlight the
* progress of the application at coarse-grained level.
*/
public static final int INFO = 3;
/**
* The WARN level designates potentially harmful situations.
*/
public static final int WARN = 4;
/**
* The ERROR level designates error events that might still allow the
* application to continue running.
*/
public static final int ERROR = 5;
/**
* The FATAL level designates very severe error events that will presumably
* lead the application to abort.
*/
public static final int FATAL = 6;
public static final int UNKNOWN = 100;
public static final String SOLUTION_LOG = "solution"; //$NON-NLS-1$
public static final String ACTIVITY_LOG = "activity"; //$NON-NLS-1$
public static final String INSTANCE_LOG = "instance"; //$NON-NLS-1$
public static final String SESSION_LOG = "session"; //$NON-NLS-1$
/**
* Return the logging level for this Logger.
*
* @return logging level
*/
public int getLoggingLevel();
/**
* Set the logging level for this Logger.
* <p>
* Valid logging levels are {@link #TRACE TRACE}, {@link #DEBUG DEBUG},
* {@link #INFO INFO}, {@link #WARN WARN}, {@link #ERROR ERROR}, and
* {@link #FATAL FATAL}.
*
* @param loggingLevel
*/
public void setLoggingLevel(int loggingLevel);
/**
* Log a message object with the {@link #TRACE TRACE} Level.
*
* @param message
* the message object to log.
*/
public void trace(String message);
/**
* Log a message object with the {@link #DEBUG DEBUG} Level.
*
* @param message
* the message object to log.
*/
public void debug(String message);
/**
* Log a message object with the {@link #INFO INFO} Level.
*
* @param message
* the message object to log.
*/
public void info(String message);
/**
* Log a message object with the {@link #WARN WARN} Level.
*
* @param message
* the message object to log.
*/
public void warn(String message);
/**
* Log a message object with the {@link #ERROR ERROR} Level.
*
* @param message
* the message object to log.
*/
public void error(String message);
/**
* Log a message object with the {@link #FATAL FATAL} Level.
*
* @param message
* the message object to log.
*/
public void fatal(String message);
/**
* Log a message with the {@link #TRACE TRACE} level including the stack
* trace of the Throwable error passed as parameter.
*
* @param message
* the message object to log.
* @param error
* the exception to log, including its stack trace.
*/
public void trace(String message, Throwable error);
/**
* Log a message with the {@link #DEBUG DEBUG} level including the stack
* trace of the Throwable error passed as parameter.
*
* @param message
* the message object to log.
* @param error
* the exception to log, including its stack trace.
*/
public void debug(String message, Throwable error);
/**
* Log a message with the {@link #INFO INFO} level including the stack trace
* of the Throwable error passed as parameter.
*
* @param message
* the message object to log.
* @param error
* the exception to log, including its stack trace.
*/
public void info(String message, Throwable error);
/**
* Log a message with the {@link #WARN WARN} level including the stack trace
* of the Throwable error passed as parameter.
*
* @param message
* the message object to log.
* @param error
* the exception to log, including its stack trace.
*/
public void warn(String message, Throwable error);
/**
* Log a message with the {@link #ERROR ERROR} level including the stack
* trace of the Throwable error passed as parameter.
*
* @param message
* the message object to log.
* @param error
* the exception to log, including its stack trace.
*/
public void error(String message, Throwable error);
/**
* Log a message with the {@link #FATAL FATAL} level including the stack
* trace of the Throwable error passed as parameter.
*
* @param message
* the message object to log.
* @param error
* the exception to log, including its stack trace.
*/
public void fatal(String message, Throwable error);
}