Author: fmeschbe
Date: Thu Jan 29 12:28:23 2009
New Revision: 738834

URL: http://svn.apache.org/viewvc?rev=738834&view=rev
Log:
Enhance logging

Modified:
    
incubator/sling/trunk/launchpad/base/src/main/java/org/apache/sling/launchpad/app/Main.java
    
incubator/sling/trunk/launchpad/base/src/main/java/org/apache/sling/launchpad/webapp/SlingServlet.java

Modified: 
incubator/sling/trunk/launchpad/base/src/main/java/org/apache/sling/launchpad/app/Main.java
URL: 
http://svn.apache.org/viewvc/incubator/sling/trunk/launchpad/base/src/main/java/org/apache/sling/launchpad/app/Main.java?rev=738834&r1=738833&r2=738834&view=diff
==============================================================================
--- 
incubator/sling/trunk/launchpad/base/src/main/java/org/apache/sling/launchpad/app/Main.java
 (original)
+++ 
incubator/sling/trunk/launchpad/base/src/main/java/org/apache/sling/launchpad/app/Main.java
 Thu Jan 29 12:28:23 2009
@@ -25,6 +25,9 @@
 import java.io.StringWriter;
 import java.net.MalformedURLException;
 import java.net.URL;
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
+import java.util.Date;
 
 import org.apache.sling.launchpad.base.shared.Launcher;
 import org.apache.sling.launchpad.base.shared.Loader;
@@ -163,8 +166,13 @@
     private void startSling(URL launcherJar) {
         if (launcherJar != null) {
             try {
-                info("Installing " + launcherJar + " to " + slingHome, null);
-                Loader.installLauncherJar(launcherJar, slingHome);
+                info("Checking launcher JAR in " + slingHome, null);
+                if (Loader.installLauncherJar(launcherJar, slingHome)) {
+                    info("Installed or Updated launcher JAR file from "
+                        + launcherJar, null);
+                } else {
+                    info("Existing launcher JAR file already up to date", 
null);
+                }
             } catch (IOException ioe) {
                 error("Failed installing " + launcherJar, ioe);
             }
@@ -257,35 +265,44 @@
 
     // emit an informational message to standard out
     private static void info(String message, Throwable t) {
-        log(System.out, "INF: ", message, t);
+        log(System.out, "*INFO*", message, t);
     }
 
     // emit an error message to standard err
     private static void error(String message, Throwable t) {
-        log(System.err, "ERR: ", message, t);
+        log(System.err, "*ERROR*", message, t);
     }
 
+    private static final DateFormat fmt = new SimpleDateFormat("dd.MM.yyyy 
HH:mm:ss.SSS ");
+    
     // helper method to format the message on the correct output channel
     // the throwable if not-null is also prefixed line by line with the prefix
     private static void log(PrintStream out, String prefix, String message,
             Throwable t) {
-        out.print(prefix);
+        
+        final StringBuilder linePrefixBuilder = new StringBuilder();
+        synchronized (fmt) {
+            linePrefixBuilder.append(fmt.format(new Date()));
+        }
+        linePrefixBuilder.append(prefix);
+        linePrefixBuilder.append(" [");
+        linePrefixBuilder.append(Thread.currentThread().getName());
+        linePrefixBuilder.append("] ");
+        final String linePrefix = linePrefixBuilder.toString();
+        
+        out.print(linePrefix);
         out.println(message);
         if (t != null) {
-            StringWriter sw = new StringWriter();
-            PrintWriter pw = new PrintWriter(sw);
-            t.printStackTrace(pw);
-            pw.close();
-            BufferedReader br = new BufferedReader(new StringReader(
-                sw.toString()));
-            String line;
-            try {
-                while ((line = br.readLine()) != null) {
-                    out.print(prefix);
-                    out.println(line);
+            t.printStackTrace(new PrintStream(out) {
+                @Override
+                public void println(String x) {
+                    synchronized (this) {
+                        print(linePrefix);
+                        super.println(x);
+                        flush();
+                    }
                 }
-            } catch (IOException ignore) {
-            }
+            });
         }
     }
 }

Modified: 
incubator/sling/trunk/launchpad/base/src/main/java/org/apache/sling/launchpad/webapp/SlingServlet.java
URL: 
http://svn.apache.org/viewvc/incubator/sling/trunk/launchpad/base/src/main/java/org/apache/sling/launchpad/webapp/SlingServlet.java?rev=738834&r1=738833&r2=738834&view=diff
==============================================================================
--- 
incubator/sling/trunk/launchpad/base/src/main/java/org/apache/sling/launchpad/webapp/SlingServlet.java
 (original)
+++ 
incubator/sling/trunk/launchpad/base/src/main/java/org/apache/sling/launchpad/webapp/SlingServlet.java
 Thu Jan 29 12:28:23 2009
@@ -277,8 +277,12 @@
 
         if (launcherJar != null) {
             try {
-                log("Installing " + launcherJar + " to " + slingHome);
-                Loader.installLauncherJar(launcherJar, slingHome);
+                log("Checking launcher JAR in " + slingHome);
+                if (Loader.installLauncherJar(launcherJar, slingHome)) {
+                    log("Installed or Updated launcher JAR file from " + 
launcherJar);
+                } else {
+                    log("Existing launcher JAR file is already up to date");
+                }
             } catch (IOException ioe) {
                 log("Failed installing " + launcherJar, ioe);
             }


Reply via email to