Author: bentmann
Date: Tue Aug 18 10:41:12 2009
New Revision: 805351

URL: http://svn.apache.org/viewvc?rev=805351&view=rev
Log:
o Improved logging

Modified:
    
maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/cli/LifecycleEventLogger.java

Modified: 
maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/cli/LifecycleEventLogger.java
URL: 
http://svn.apache.org/viewvc/maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/cli/LifecycleEventLogger.java?rev=805351&r1=805350&r2=805351&view=diff
==============================================================================
--- 
maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/cli/LifecycleEventLogger.java
 (original)
+++ 
maven/components/trunk/maven-embedder/src/main/java/org/apache/maven/cli/LifecycleEventLogger.java
 Tue Aug 18 10:41:12 2009
@@ -29,6 +29,7 @@
 import org.apache.maven.execution.BuildSuccess;
 import org.apache.maven.execution.BuildSummary;
 import org.apache.maven.execution.MavenExecutionResult;
+import org.apache.maven.execution.MavenSession;
 import org.apache.maven.lifecycle.AbstractLifecycleListener;
 import org.apache.maven.lifecycle.LifecycleEvent;
 import org.apache.maven.plugin.descriptor.MojoDescriptor;
@@ -77,6 +78,7 @@
         if ( time / 60000L > 0 )
         {
             pattern = "m:s" + pattern;
+
             if ( time / 3600000L > 0 )
             {
                 pattern = "H:m" + pattern;
@@ -112,49 +114,98 @@
     {
         if ( logger.isInfoEnabled() )
         {
+            if ( event.getSession().getProjects().size() > 1 )
+            {
+                logReactorSummary( event.getSession() );
+            }
+
+            logResult( event.getSession() );
+
+            logStats( event.getSession() );
+
             logger.info( chars( '-', LINE_LENGTH ) );
-            logger.info( "Reactor Summary:" );
-            logger.info( chars( '-', LINE_LENGTH ) );
+        }
+    }
 
-            MavenExecutionResult result = event.getSession().getResult();
+    private void logReactorSummary( MavenSession session )
+    {
+        logger.info( chars( '-', LINE_LENGTH ) );
+        logger.info( "Reactor Summary:" );
+        logger.info( chars( '-', LINE_LENGTH ) );
 
-            for ( MavenProject project : event.getSession().getProjects() )
-            {
-                StringBuilder buffer = new StringBuilder( 128 );
+        MavenExecutionResult result = session.getResult();
 
-                buffer.append( project.getName() );
+        for ( MavenProject project : session.getProjects() )
+        {
+            StringBuilder buffer = new StringBuilder( 128 );
 
-                while ( buffer.length() < LINE_LENGTH - 22 )
-                {
-                    buffer.append( '.' );
-                }
-
-                BuildSummary buildSummary = result.getBuildSummary( project );
-
-                if ( buildSummary == null )
-                {
-                    buffer.append( "SKIPPED" );
-                }
-                else if ( buildSummary instanceof BuildSuccess )
-                {
-                    buffer.append( "SUCCESS [" );
-                    buffer.append( getFormattedTime( buildSummary.getTime() ) 
);
-                    buffer.append( "]" );
-                }
-                else if ( buildSummary instanceof BuildFailure )
-                {
-                    buffer.append( "FAILURE [" );
-                    buffer.append( getFormattedTime( buildSummary.getTime() ) 
);
-                    buffer.append( "]" );
-                }
+            buffer.append( project.getName() );
 
-                logger.info( buffer.toString() );
+            buffer.append( ' ' );
+            while ( buffer.length() < LINE_LENGTH - 21 )
+            {
+                buffer.append( '.' );
             }
+            buffer.append( ' ' );
 
-            logger.info( chars( '-', LINE_LENGTH ) );
+            BuildSummary buildSummary = result.getBuildSummary( project );
+
+            if ( buildSummary == null )
+            {
+                buffer.append( "SKIPPED" );
+            }
+            else if ( buildSummary instanceof BuildSuccess )
+            {
+                buffer.append( "SUCCESS [" );
+                buffer.append( getFormattedTime( buildSummary.getTime() ) );
+                buffer.append( "]" );
+            }
+            else if ( buildSummary instanceof BuildFailure )
+            {
+                buffer.append( "FAILURE [" );
+                buffer.append( getFormattedTime( buildSummary.getTime() ) );
+                buffer.append( "]" );
+            }
+
+            logger.info( buffer.toString() );
         }
     }
 
+    private void logResult( MavenSession session )
+    {
+        logger.info( chars( '-', LINE_LENGTH ) );
+
+        if ( session.getResult().hasExceptions() )
+        {
+            logger.info( "BUILD FAILURE" );
+        }
+        else
+        {
+            logger.info( "BUILD SUCCESS" );
+        }
+    }
+
+    private void logStats( MavenSession session )
+    {
+        logger.info( chars( '-', LINE_LENGTH ) );
+
+        Date finish = new Date();
+
+        long time = finish.getTime() - 
session.getRequest().getStartTime().getTime();
+
+        logger.info( "Total time: " + getFormattedTime( time ) );
+
+        logger.info( "Finished at: " + finish );
+
+        System.gc();
+
+        Runtime r = Runtime.getRuntime();
+
+        long MB = 1024 * 1024;
+
+        logger.info( "Final Memory: " + ( r.totalMemory() - r.freeMemory() ) / 
MB + "M/" + r.totalMemory() / MB + "M" );
+    }
+
     @Override
     public void projectSkipped( LifecycleEvent event )
     {
@@ -170,7 +221,9 @@
     {
         if ( logger.isInfoEnabled() )
         {
+            logger.info( chars( '-', LINE_LENGTH ) );
             logger.info( "Building " + event.getProject().getName() );
+            logger.info( chars( '-', LINE_LENGTH ) );
         }
     }
 


Reply via email to