/* * HapiLog.java * * Created on May 7, 2003 at 3:53:44 PM */ package ca.uhn.log; import org.apache.commons.logging.Log; /** * A logging interface that enhances the Log * interface with ancillary method to easy up the log messages generation * by adding MessageFormat like functionality. * * Instantiate using {@link HapiLogFactory#getLog( Class clazz)} * or {@link HapiLogFactory#getLog( String name)} * *
 *  USASE PATTERN:
 *  (look at the jakarta-commons-logging and log4j documentation first)
 * 
 *      ...
 *      import ca.uhn.log.*;
 *      ...
 *      class A {
 *          private static final HapiLog log = HapiLogFactory.getHapiLog( A.class );
 * 
 *          public boolean methodA( Object param1 ) {
 *              boolean retVal = true;
 * 
 *              //log debug messages (to be printed only when the debug mode is specified
 *              //in the configuration file)
 *              log.debug( "param1 = " + param1 );
 *              
 *              Object copy = null;
 *              try {
 *                  copy = param1.clone();
 *              }
 *              catch( CloneNotSupportedException e ) {
 *                  //log the error
 *                  log.error( "param1 must be cloneable", e );
 *                  retVal = false;
 *              }
 * 
 *              log.debug( "retVal = " + retVal );
 *              return retVal;
 *          }
 * 
 *          ...
 * 
 *      }
 * 
* * @author Alexei Guevara * @version $Revision: 1.1 $ updated on $Date: 2007/02/19 02:24:52 $ by $Author: jamesagnew $ */ public interface HapiLog extends Log { /** * * @see MessageFormat#format( ... ) * * @param msgPattern * @param values * @param e */ public void debug( String msgPattern, Object[] values, Throwable e ); }