/* * Copyright 2003 Federal Chancellery Austria * MOA-ID has been developed in a cooperation between BRZ, the Federal * Chancellery Austria - ICT staff unit, and Graz University of Technology. * * Licensed under the EUPL, Version 1.1 or - as soon they will be approved by * the European Commission - subsequent versions of the EUPL (the "Licence"); * You may not use this work except in compliance with the Licence. * You may obtain a copy of the Licence at: * http://www.osor.eu/eupl/ * * Unless required by applicable law or agreed to in writing, software * distributed under the Licence is distributed on an "AS IS" basis, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the Licence for the specific language governing permissions and * limitations under the Licence. * * This product combines work with different licenses. See the "NOTICE" text * file for details on the various modules and licenses. * The "NOTICE" text file is part of the distribution. Any derivative works * that you distribute must include a readable copy of the "NOTICE" text file. */ package at.gv.egovernment.moa.logging; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; /** * A utility class acting as a facade to the logging subsystem. * * Configure the logging defaultHierarchy that the Logger uses by * calling setHierarchy once before calling any of the logging * output functions. * * @author Patrick Peck * @version $Id$ */ public class Logger { /** The default logging hierarchy. */ private static String defaultHierarchy = ""; /** * Get the Log object for the default hierarchy. * * @return The Log object to write log messages to. */ private static Log getLog() { return LogFactory.getLog(defaultHierarchy); } /** * Get the Log object for a given hierarchy. * * @param hierarchy The logging hierarchy for which to return the logger. * @return The Log object to write log messages to. */ private static Log getLog(String hierarchy) { return LogFactory.getLog(hierarchy); } /** * Set the default hierarchy to which the Logger should send its * logging output. * @param hierarchy The logging defaultHierarchy. */ public static void setHierarchy(String hierarchy) { defaultHierarchy = hierarchy; } /** * Test, if the trace log level is enabled. * * @return boolean true, if tracing output is enabled * false otherwise. */ public static boolean isTraceEnabled() { return getLog().isTraceEnabled(); } /** * Test, if the trace log level is enabled for a given hierarchy. * * @param hierarchy requested log hierarchy * @return boolean true, if tracing output is enabled * false otherwise. */ public static boolean isTraceEnabled(String hierarchy) { return getLog(hierarchy).isTraceEnabled(); } /** * Trace a message. * * @param message The message to trace. */ public static void trace(Object message) { getLog().trace(message); } /** * Test, if the debug log level is enabled. * * @return boolean true, if debug output is enabled * false otherwise. */ public static boolean isDebugEnabled() { return getLog().isDebugEnabled(); } /** * Test, if the debug log level is enabled for a given hierarchy. * * @param hierarchy requested log hierarchy * @return boolean true, if debug output is enabled * false otherwise. */ public static boolean isDebugEnabled(String hierarchy) { return getLog(hierarchy).isDebugEnabled(); } /** * Log a debug message. * * @param message The message to log. */ public static void debug(Object message) { getLog().debug(message); } /** * Log an info message. * * @param message The message to log. */ public static void info(Object message) { getLog().info(message); } /** * Log a warning message. * * @param message The message to log. */ public static void warn(Object message) { getLog().warn(message); } /** * Log a warning message. * * @param message The message to log. * @param t An exception that may be the cause of the warning. */ public static void warn(Object message, Throwable t) { getLog().warn(message, t); } /** * Log an error message. * * @param message The message to log. */ public static void error(Object message) { getLog().error(message); } /** * Log an error message. * * @param message The message to log. * @param t An exception that may be the cause of the error. */ public static void error(Object message, Throwable t) { getLog().error(message, t); } /** * Log a fatal error message. * * @param message The message to log. */ public static void fatal(Object message) { getLog().fatal(message); } /** * Log a fatal error message. * * @param message The message to log. * @param t An exception that may be the cause of the error. */ public static void fatal(Object message, Throwable t) { getLog().fatal(message, t); } }