costin      2002/08/20 12:35:25

  Modified:    jasper2/src/share/org/apache/jasper/compiler Compiler.java
  Log:
  Switch to commons-logging instead of jasper's own logging.
  
  To enable debugging - use log4j.properties or the jdk1.4 config.
  Right now it uses the 'class name' convention - i.e. the name of
  the logger where you can enable debug is the class name.
  
  We could use a single logger for all jasper.
  
  I also added code to log the translation and compilation times -
  if they are more than 500ms. It can be removed before release ( or
  made configurable ), but for now it's good to know.
  
  Revision  Changes    Path
  1.29      +37 -12    
jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Compiler.java
  
  Index: Compiler.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat-jasper/jasper2/src/share/org/apache/jasper/compiler/Compiler.java,v
  retrieving revision 1.28
  retrieving revision 1.29
  diff -u -r1.28 -r1.29
  --- Compiler.java     20 Aug 2002 03:52:18 -0000      1.28
  +++ Compiler.java     20 Aug 2002 19:35:24 -0000      1.29
  @@ -1,7 +1,4 @@
   /*
  - * $Header$
  - * $Revision$
  - * $Date$
    *
    * ====================================================================
    * 
  @@ -98,7 +95,8 @@
    * @author Mark Roth
    */
   public class Compiler {
  -
  +    private static org.apache.commons.logging.Log log=
  +        org.apache.commons.logging.LogFactory.getLog( Compiler.class );
   
       // ----------------------------------------------------------------- Static
   
  @@ -158,10 +156,14 @@
           } else {
               bl.setMessageOutputLevel( Project.MSG_INFO );
           }
  +        if( log.isTraceEnabled() ) {
  +            bl.setMessageOutputLevel( Project.MSG_VERBOSE );
  +        }
           project.addBuildListener( bl );
           
           if( options.getCompiler() != null ) {
  -            Constants.jasperLog.log("Compiler " + options.getCompiler(), 
Logger.ERROR );
  +            if( log.isDebugEnabled() )
  +                log.debug("Compiler " + options.getCompiler() );
               project.setProperty("build.compiler", options.getCompiler() );
           }
           project.init();
  @@ -175,12 +177,13 @@
       }
   
       static class JasperAntLogger extends DefaultLogger {
  +        private static org.apache.commons.logging.Log log=
  +            org.apache.commons.logging.LogFactory.getLog( Compiler.class );
           protected void printMessage(final String message,
                                       final PrintStream stream,
                                       final int priority) {
  -            Constants.jasperLog.log( message, Logger.INFORMATION );
  +            log.info( message );
           }
  -
       }
   
       // --------------------------------------------------------- Public Methods
  @@ -192,6 +195,7 @@
       public void generateJava()
           throws FileNotFoundException, JasperException, Exception
       {
  +        long t1=System.currentTimeMillis();
        // Setup page info area
        pageInfo = new PageInfo(new BeanRepository(ctxt.getClassLoader()));
        JspConfig jspConfig = options.getJspConfig();
  @@ -255,6 +259,7 @@
        // Validate and process attributes
        Validator.validate(this, pageNodes);
   
  +        long t2=System.currentTimeMillis();
        // Dump out the page (for debugging)
        // Dumper.dump(pageNodes);
   
  @@ -265,6 +270,8 @@
        // this compilation unit.
        TagFileProcessor.loadTagFiles(this, pageNodes);
   
  +        long t3=System.currentTimeMillis();
  +        
        // Determine which custom tag needs to declare which scripting vars
        ScriptingVariabler.set(pageNodes);
   
  @@ -272,6 +279,12 @@
        Generator.generate(writer, this, pageNodes);
           writer.close();
   
  +        long t4=System.currentTimeMillis();
  +        if( t4-t1 > 500 ) {
  +            log.info("Generated "+ javaFileName + " total=" +
  +                     (t4-t1) + " generate=" + ( t4-t3 ) + " validate=" + ( t2-t1 ));
  +        }
  +        
           //JSR45 Support - note this needs to be checked by a JSR45 guru
        SmapUtil.generateSmap(ctxt, pageNodes, true);
       }
  @@ -282,6 +295,7 @@
       public void generateClass()
           throws FileNotFoundException, JasperException, Exception
       {
  +        long t1=System.currentTimeMillis();
        String javaEncoding = "UTF8"; 
           String javaFileName = ctxt.getServletJavaFileName();
           String classpath = ctxt.getClassPath(); 
  @@ -303,6 +317,10 @@
           path.setPath(System.getProperty("java.class.path") + sep
                        + classpath);
   
  +        if( log.isDebugEnabled() )
  +            log.debug( "Using classpath: " + System.getProperty("java.class.path") 
+ sep
  +                       + classpath);
  +        
           // Initializing sourcepath
           Path srcPath = new Path(project);
           srcPath.setPath(options.getScratchDir().getAbsolutePath());
  @@ -328,8 +346,7 @@
                   javac.execute();
               }
           } catch (BuildException e) {
  -            //   System.out.println("Javac execption ");
  -            //   e.printStackTrace(System.out);
  +            log.error( "Javac execption ", e);
               success = false;
           }
   
  @@ -342,12 +359,15 @@
           }
   
           if (!success) {
  -            Constants.jasperLog.log( "Error compiling file: " + javaFileName + " " 
+ errorReport,
  -                                     Logger.ERROR);
  +            log.error( "Error compiling file: " + javaFileName + " " + errorReport);
               if(errorReport!=null ) 
                   errDispatcher.javacError(errorReport, javaFileName, pageNodes);
           }
   
  +        long t2=System.currentTimeMillis();
  +        if( t2-t1 > 500 ) {
  +            log.info( "Compiled " + javaFileName + " " + (t2-t1));
  +        }
           //JSR45 Support - note this needs to be checked by a JSR45 guru
        SmapUtil.installSmap(ctxt);
       }
  @@ -408,7 +428,8 @@
           }
           targetLastModified = targetFile.lastModified();
           if (targetLastModified < jspRealLastModified) {
  -            //System.out.println("Compiler: outdated, " + targetFile + " " + 
targetLastModified );
  +            if( log.isDebugEnabled() )
  +                log.debug("Compiler: outdated: " + targetFile + " " + 
targetLastModified );
               return true;
           }
   
  @@ -495,6 +516,8 @@
               String classFileName = ctxt.getServletClassName();
               if (classFileName != null) {
                   File classFile = new File(classFileName);
  +                if( log.isDebugEnabled() )
  +                    log.debug( "Deleting " + classFile );
                   classFile.delete();
               }
           } catch (Exception e) {
  @@ -504,6 +527,8 @@
               String javaFileName = ctxt.getServletJavaFileName();
               if (javaFileName != null) {
                   File javaFile = new File(javaFileName);
  +                if( log.isDebugEnabled() )
  +                    log.debug( "Deleting " + javaFile );
                   javaFile.delete();
               }
           } catch (Exception e) {
  
  
  

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

Reply via email to