glenn       2002/12/30 19:57:34

  Modified:    catalina/src/share/org/apache/catalina/core
                        ApplicationFilterConfig.java
  Log:
  Wrap ServletFilter init with swallow output
  
  Revision  Changes    Path
  1.8       +19 -6     
jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/ApplicationFilterConfig.java
  
  Index: ApplicationFilterConfig.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/core/ApplicationFilterConfig.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- ApplicationFilterConfig.java      22 Jul 2001 20:25:08 -0000      1.7
  +++ ApplicationFilterConfig.java      31 Dec 2002 03:57:34 -0000      1.8
  @@ -76,7 +76,7 @@
   import org.apache.catalina.Context;
   import org.apache.catalina.deploy.FilterDef;
   import org.apache.catalina.util.Enumerator;
  -
  +import org.apache.tomcat.util.log.SystemLogHandler;
   
   /**
    * Implementation of a <code>javax.servlet.FilterConfig</code> useful in
  @@ -251,7 +251,20 @@
           // Instantiate a new instance of this filter and return it
           Class clazz = classLoader.loadClass(filterClass);
           this.filter = (Filter) clazz.newInstance();
  -        filter.init(this);
  +        if (context instanceof StandardContext &&
  +            ((StandardContext)context).getSwallowOutput()) {
  +            try {
  +                SystemLogHandler.startCapture();
  +                filter.init(this);
  +            } finally {
  +                String log = SystemLogHandler.stopCapture();
  +                if (log != null && log.length() > 0) {
  +                    getServletContext().log(log);
  +                }
  +            }
  +        } else {
  +            filter.init(this);
  +        }
           return (this.filter);
   
       }
  
  
  

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to