Home » apache-tomcat-6.0.26-src » org.apache » tomcat » util » log » [javadoc | source]

    1   
    2   
    3   /*
    4    * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
    5    * 
    6    * Copyright 1997-2007 Sun Microsystems, Inc. All rights reserved.
    7    * 
    8    * Portions Copyright Apache Software Foundation.
    9    * 
   10    * The contents of this file are subject to the terms of either the GNU
   11    * General Public License Version 2 only ("GPL") or the Common Development
   12    * and Distribution License("CDDL") (collectively, the "License").  You
   13    * may not use this file except in compliance with the License. You can obtain
   14    * a copy of the License at https://glassfish.dev.java.net/public/CDDL+GPL.html
   15    * or glassfish/bootstrap/legal/LICENSE.txt.  See the License for the specific
   16    * language governing permissions and limitations under the License.
   17    * 
   18    * When distributing the software, include this License Header Notice in each
   19    * file and include the License file at glassfish/bootstrap/legal/LICENSE.txt.
   20    * Sun designates this particular file as subject to the "Classpath" exception
   21    * as provided by Sun in the GPL Version 2 section of the License file that
   22    * accompanied this code.  If applicable, add the following below the License
   23    * Header, with the fields enclosed by brackets [] replaced by your own
   24    * identifying information: "Portions Copyrighted [year]
   25    * [name of copyright owner]"
   26    * 
   27    * Contributor(s):
   28    * 
   29    * If you wish your version of this file to be governed by only the CDDL or
   30    * only the GPL Version 2, indicate your decision by adding "[Contributor]
   31    * elects to include this software in this distribution under the [CDDL or GPL
   32    * Version 2] license."  If you don't indicate a single choice of license, a
   33    * recipient has the option to distribute your version of this file under
   34    * either the CDDL, the GPL Version 2 or to extend the choice of license to
   35    * its licensees as provided above.  However, if you add GPL Version 2 code
   36    * and therefore, elected the GPL Version 2 license, then the option applies
   37    * only if the new code is made subject to such option by the copyright
   38    * holder.
   39    */
   40   package org.apache.tomcat.util.log;
   41   
   42   import org.apache.tomcat.util.log;
   43   import java.io.Writer;
   44   import java.io.PrintWriter;
   45   import java.io.FileWriter;
   46   import java.io.File;
   47   import java.io.OutputStreamWriter;
   48   import java.io.IOException;
   49   import java.io.StringWriter;
   50   
   51   import java.util;
   52   
   53   import com.sun.org.apache.commons.logging;
   54   
   55   /**
   56    *  Log using common-logging.
   57    *
   58    * @author Costin Manolache
   59    */
   60   public  class CommonLogHandler extends LogHandler {
   61   
   62       private Hashtable loggers=new Hashtable();
   63       
   64       /**
   65        * Prints log message and stack trace.
   66        * This method should be overriden by real logger implementations
   67        *
   68        * @param	prefix		optional prefix. 
   69        * @param	message		the message to log. 
   70        * @param	t		the exception that was thrown.
   71        * @param	verbosityLevel	what type of message is this?
   72        * 				(WARNING/DEBUG/INFO etc)
   73        */
   74       public void log(String prefix, String msg, Throwable t,
   75   		    int verbosityLevel)
   76       {
   77           if( prefix==null ) prefix="tomcat";
   78   
   79           com.sun.org.apache.commons.logging.Log l=(com.sun.org.apache.commons.logging.Log)loggers.get( prefix );
   80           if( l==null ) {
   81               l=LogFactory.getLog( prefix );
   82               loggers.put( prefix, l );
   83           }
   84           
   85   	if( verbosityLevel > this.level ) return;
   86   
   87           if( t==null ) {
   88               if( verbosityLevel == Log.FATAL )
   89                   l.fatal(msg);
   90               else if( verbosityLevel == Log.ERROR )
   91                   l.error( msg );
   92               else if( verbosityLevel == Log.WARNING )
   93                   l.warn( msg );
   94               else if( verbosityLevel == Log.INFORMATION)
   95                   l.info( msg );
   96               else if( verbosityLevel == Log.DEBUG )
   97                   l.debug( msg );
   98           } else {
   99               if( verbosityLevel == Log.FATAL )
  100                   l.fatal(msg, t);
  101               else if( verbosityLevel == Log.ERROR )
  102                   l.error( msg, t );
  103               else if( verbosityLevel == Log.WARNING )
  104                   l.warn( msg, t );
  105               else if( verbosityLevel == Log.INFORMATION)
  106                   l.info( msg, t );
  107               else if( verbosityLevel == Log.DEBUG )
  108                   l.debug( msg, t );
  109           }
  110       }
  111   
  112       /**
  113        * Flush the log. 
  114        */
  115       public void flush() {
  116   	// Nothing - commons logging doesn't have the notion
  117       }
  118   
  119       /**
  120        * Close the log. 
  121        */
  122       public synchronized void close() {
  123   	// Nothing - commons logging doesn't have the notion
  124       }
  125       
  126   }

Home » apache-tomcat-6.0.26-src » org.apache » tomcat » util » log » [javadoc | source]