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]>