/*
** Luxor - XML User Interface Language (XUL) Toolkit
** Copyright (c) 2001, 2002 by Gerald Bauer
**
** This program is free software.
**
** You may redistribute it and/or modify it under the terms of the GNU
** General Public License as published by the Free Software Foundation.
** Version 2 of the license should be included with this distribution in
** the file LICENSE, as well as License.html. If the license is not
** included with this distribution, you may find a copy at the FSF web
** site at 'www.gnu.org' or 'www.fsf.org', or you may write to the
** Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139 USA.
**
** THIS SOFTWARE IS PROVIDED AS-IS WITHOUT WARRANTY OF ANY KIND,
** NOT EVEN THE IMPLIED WARRANTY OF MERCHANTABILITY. THE AUTHOR
** OF THIS SOFTWARE, ASSUMES _NO_ RESPONSIBILITY FOR ANY
** CONSEQUENCE RESULTING FROM THE USE, MODIFICATION, OR
** REDISTRIBUTION OF THIS SOFTWARE.
**
*/

package luxor.status;

/**
 *  Why wrap Java's util.logging.Logger? - more convenience methods - keep
 *  option open to switch to a different logging toolkit (e.g. Apache log4j) -
 *  make it easier to backport to JDK lesser than 1.4
 */

public class Logger
{
   java.util.logging.Logger _logger;

   private Logger( java.util.logging.Logger logger )
   {
      _logger = logger;
   }

   public static Logger getLogger( Class clazz )
   {
      return new Logger(
            java.util.logging.Logger.getLogger( clazz.getName() ) );
   }

   public static Logger getLogger( String name )
   {
      return new Logger(
            java.util.logging.Logger.getLogger( name ) );
   }

   public void config( String msg )
   {
      _logger.config( msg );
   }

   public void debug( String msg )
   {
      fine( msg );
   }

   public void entering( String method )
   {
      _logger.entering( _logger.getName(), method );
   }

   public void entering( String method, String arg1 )
   {
      _logger.entering( _logger.getName(), method, arg1 );
   }

   public void error( String msg )
   {
      _logger.severe( msg );
   }

   public void exiting( String method )
   {
      _logger.exiting( _logger.getName(), method );
   }

   public void exiting( String method, String result )
   {
      _logger.exiting( _logger.getName(), method, result );
   }

   public void fatal( String msg )
   {
      _logger.severe( msg );
   }

   public void fine( String msg )
   {
      _logger.fine( msg );
   }

   public void finer( String msg )
   {
      _logger.finer( msg );
   }

   public void finest( String msg )
   {
      _logger.finest( msg );
   }

   public void hint( String msg )
   {
      _logger.info( msg );
   }

   public void info( String msg )
   {
      _logger.info( msg );
   }

   public void warning( String msg )
   {
      _logger.warning( msg );
   }

}