tomcat-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From cos...@apache.org
Subject cvs commit: jakarta-tomcat/src/share/org/apache/tomcat/modules/config LogSetter.java
Date Sat, 03 Feb 2001 05:36:25 GMT
costin      01/02/02 21:36:25

  Modified:    src/share/org/apache/tomcat/modules/config LogSetter.java
  Log:
  Finishing the LogSetter.
  
  - The name of the log will be a full path ( org/apache/tomcat, etc )
  instead of tc_log
  
  - add a log message ( until we're sure everything works as we want )
  
  - register and open the logger ( used to be the hack in DefaultCMSetter)
  
  - explicitely set the Context log or the servlet log.
  
  ( there are few associated changes in CM, Context and BaseInterceptor -
  next commit )
  
  Revision  Changes    Path
  1.4       +46 -9     jakarta-tomcat/src/share/org/apache/tomcat/modules/config/LogSetter.java
  
  Index: LogSetter.java
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat/src/share/org/apache/tomcat/modules/config/LogSetter.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- LogSetter.java	2001/02/01 06:41:16	1.3
  +++ LogSetter.java	2001/02/03 05:36:24	1.4
  @@ -66,9 +66,7 @@
   import java.net.*;
   import java.util.*;
   
  -/**
  -  Add a Logger.
  -  
  +/*
     Logging in Tomcat is quite flexible; we can either have a log
     file per module (example: ContextManager) or we can have one
     for Servlets and one for Jasper, or we can just have one
  @@ -121,7 +119,21 @@
     Some components accept a "debug" attribute.  This further
     enhances log output.  If you set the "debug" level for a
     component, it may output extra debugging information.
  +*/
  +
   
  +/**
  + *  Define a logger with the specified name, using the logger
  + *  implementation in org.apache.tomcat.util.log.QueueLogger
  + *
  + *  Tomcat uses the util.log.Log class - if you want to use
  + *  a different logger ( like log4j or jsrXXX ) you need to create a
  + *  new interceptor that will use your favorite logger and
  + *  create a small adapter ( class extending Log and directing
  + *  the output to your favorite logger.
  + *
  + *  The only contract used in tomcat for logging is the util.Log.
  + * 
    */
   public class LogSetter extends  BaseInterceptor {
       String name;
  @@ -164,14 +176,33 @@
       {
   	if( module!=this ) return;
   
  +	if( name==null ) {
  +	    if( servletLogger )
  +		name="org/apache/tomcat/facade";
  +	    else
  +		name="org/apache/tomcat/core";
  +	}
  +
   	if( path!=null && ! FileUtil.isAbsolute( path ) ) {
   	    File wd= new File(cm.getHome(), path);
   	    path= wd.getAbsolutePath();
   	}
  +	
  +	// workarounds for legacy log names
  +	if( "tc_log".equals( name ) )
  +	    name="org/apache/tomcat/core";
  +	if( servletLogger || "servlet_log".equals( name ) )
  +	    name="org/apache/tomcat/facade";
  +
  +	if( ctx != null ) {
  +	    // this logger is local to a context
  +	    name=name +  "/"  + ctx.getId();
  +	}
   
  +	log( "Constructing logger " + name + " " + path + " " + ctx );
  +	
  +	// construct a queue logger
   	QueueLogger ql=new QueueLogger();
  -	if( name==null )
  -	    throw new TomcatException( "Invalid name for logger " );
   	ql.setName(name);
   
   	if( path!=null )
  @@ -181,14 +212,20 @@
   
   	ql.open();
   
  -	//	if( debug>-1) log("Adding logger " + name + " " + servletLogger + " " + ctx );
  -	cm.addLogger( ql );
  +	Logger.putLogger( ql );
  +
  +	if( "org/apache/tomcat/core".equals( name ) ) {
  +	    // this will be the Log interface to the log we just created
  +	    // ( the way logs and channels are created is a bit
  +	    // complicated - work for later )
  +	    cm.setLog( Log.getLog( name, "ContextManager");
  +	}
   
   	if( ctx!=null ) {
   	    if( servletLogger ) {
  -		ctx.setServletLogger( ql );
  +		ctx.setServletLog( Log.getLog( name, ctx.getId() ) );
   	    } else {
  -		ctx.setLogger( ql );
  +		ctx.setLog( Log.getLog( name, ctx.getId() ) );
   	    }
   	}  
   
  
  
  

Mime
View raw message