/* * Copyright (C) 2009 eXo Platform SAS. * * This is free software; you can redistribute it and/or modify it * under the terms of the GNU Lesser General Public License as * published by the Free Software Foundation; either version 2.1 of * the License, or (at your option) any later version. * * This software 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. * * You should have received a copy of the GNU Lesser General Public * License along with this software; if not, write to the Free * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA * 02110-1301 USA, or see the FSF site: http://www.fsf.org. */ package org.exoplatform.services.log; /** * Created by The eXo Platform SAS * * @author <a href="work.visor.ck@gmail.com">Dmytro Katayev</a> Jun 26, 2009 * @version $Id: Log.java 34394 2009-07-23 09:23:31Z dkatayev $ */ public interface Log { /** * <p> * Is debug logging currently enabled? * </p> * <p> * Call this method to prevent having to perform expensive operations (for * example, <code>String</code> concatenation) when the log level is more than * debug. * </p> * * @return true if debug is enabled in the underlying logger. */ boolean isDebugEnabled(); /** * <p> * Is error logging currently enabled? * </p> * <p> * Call this method to prevent having to perform expensive operations (for * example, <code>String</code> concatenation) when the log level is more than * error. * </p> * * @return true if error is enabled in the underlying logger. */ boolean isErrorEnabled(); /** * <p> * Is fatal logging currently enabled? * </p> * <p> * Call this method to prevent having to perform expensive operations (for * example, <code>String</code> concatenation) when the log level is more than * fatal. * </p> * * @return true if fatal is enabled in the underlying logger. */ boolean isFatalEnabled(); /** * <p> * Is info logging currently enabled? * </p> * <p> * Call this method to prevent having to perform expensive operations (for * example, <code>String</code> concatenation) when the log level is more than * info. * </p> * * @return true if info is enabled in the underlying logger. */ boolean isInfoEnabled(); /** * <p> * Is trace logging currently enabled? * </p> * <p> * Call this method to prevent having to perform expensive operations (for * example, <code>String</code> concatenation) when the log level is more than * trace. * </p> * * @return true if trace is enabled in the underlying logger. */ boolean isTraceEnabled(); /** * <p> * Is warn logging currently enabled? * </p> * <p> * Call this method to prevent having to perform expensive operations (for * example, <code>String</code> concatenation) when the log level is more than * warn. * </p> * * @return true if warn is enabled in the underlying logger. */ boolean isWarnEnabled(); // -------------------------------------------------------- Logging Methods /** * <p> * Log a message with trace log level. * </p> * * @param message log this message */ void trace(Object message); /** * <p> * Log an error with trace log level. * </p> * * @param message log this message * @param t log this cause */ void trace(Object message, Throwable t); /** * <p> * Log a message with debug log level. * </p> * * @param message log this message */ void debug(Object message); /** * <p> * Log an error with debug log level. * </p> * * @param message log this message * @param t log this cause */ void debug(Object message, Throwable t); /** * <p> * Log a message with info log level. * </p> * * @param message log this message */ void info(Object message); /** * <p> * Log an error with info log level. * </p> * * @param message log this message * @param t log this cause */ void info(Object message, Throwable t); /** * <p> * Log a message with warn log level. * </p> * * @param message log this message */ void warn(Object message); /** * <p> * Log an error with warn log level. * </p> * * @param message log this message * @param t log this cause */ void warn(Object message, Throwable t); /** * <p> * Log a message with error log level. * </p> * * @param message log this message */ void error(Object message); /** * <p> * Log an error with error log level. * </p> * * @param message log this message * @param t log this cause */ void error(Object message, Throwable t); /** * <p> * Log a message with fatal log level. * </p> * * @param message log this message */ void fatal(Object message); /** * <p> * Log an error with fatal log level. * </p> * * @param message log this message * @param t log this cause */ void fatal(Object message, Throwable t); /** * <p> * Log an error with <i>trace</i> log level. * </p> * * @param format <br> {@link String} format to represent log message. * Sequence of '{}' is used to represent an anchor which will be replaced by * string representation of objects in argArray * @param argArray <br> array of arguments to add to log message * including {@link Throwable}, {@link String} * or any other {@link Object} for which string representation will be used */ void trace(String format, Object... argArray); /** * <p> * Log an error with <i>debug</i> log level. * </p> * * @param format <br> {@link String} format to represent log message. * Sequence of '{}' is used to represent an anchor which will be replaced by * string representation of objects in argArray * @param argArray <br> array of arguments to add to log message * including {@link Throwable}, {@link String} * or any other {@link Object} for which string representation will be used */ void debug(String format, Object... argArray); /** * <p> * Log an error with <i>info</i> log level. * </p> * * @param format <br> {@link String} format to represent log message. * Sequence of '{}' is used to represent an anchor which will be replaced by * string representation of objects in argArray * @param argArray <br> array of arguments to add to log message * including {@link Throwable}, {@link String} * or any other {@link Object} for which string representation will be used */ void info(String format, Object... argArray); /** * <p> * Log a message with <i>warn</i> log level. * </p> * * @param format <br> {@link String} format to represent log message. * Sequence of '{}' is used to represent an anchor which will be replaced by * string representation of objects in argArray * @param argArray <br> array of arguments to add to log message * including {@link Throwable}, {@link String} * or any other {@link Object} for which string representation will be used */ void warn(String format, Object... argArray); /** * <p> * Log a message with <i>error</i> log level. * </p> * * @param format <br> {@link String} format to represent log message. * Sequence of '{}' is used to represent an anchor which will be replaced by * string representation of objects in argArray * @param argArray <br> array of arguments to add to log message * including {@link Throwable}, {@link String} * or any other {@link Object} for which string representation will be used */ void error(String format, Object... argArray); /** * <p> * Log a message with <i>fatal</i> log level. * </p> * * @param format <br> {@link String} format to represent log message. * Sequence of '{}' is used to represent an anchor which will be replaced by * string representation of objects in argArray * @param argArray <br> array of arguments to add to log message * including {@link Throwable}, {@link String} * or any other {@link Object} for which string representation will be used */ void fatal(String format, Object... argArray); }