From 434f61b80037ef435a073a0204a0c8e3c25e8f36 Mon Sep 17 00:00:00 2001
From: jvergara <jvergara@localhost>
Date: Thu, 03 May 2007 17:06:57 +0000
Subject: [PATCH] Remove a printStackTrace call when an error launching the GUI application occurs an replace it by logging the whole stack to a log file using the mechanism put in place by Kenneth.

---
 opends/src/quicksetup/org/opends/quicksetup/Launcher.java |   24 +++++++++++++++++++++++-
 1 files changed, 23 insertions(+), 1 deletions(-)

diff --git a/opends/src/quicksetup/org/opends/quicksetup/Launcher.java b/opends/src/quicksetup/org/opends/quicksetup/Launcher.java
index aa40450..a98b705 100644
--- a/opends/src/quicksetup/org/opends/quicksetup/Launcher.java
+++ b/opends/src/quicksetup/org/opends/quicksetup/Launcher.java
@@ -33,6 +33,7 @@
 import java.io.PrintStream;
 import java.io.ByteArrayOutputStream;
 import java.io.File;
+import java.util.logging.Level;
 import java.util.logging.Logger;
 
 /**
@@ -168,7 +169,28 @@
         }
         catch (Throwable t)
         {
-          t.printStackTrace();
+          try {
+            QuickSetupLog.initLogFileHandler(File.createTempFile(
+                "opends-launcher-", ".log"));
+            LOG.log(Level.WARNING, "Error launching GUI: "+t);
+            while (t != null)
+            {
+              StackTraceElement[] stack = t.getStackTrace();
+              for (int i = 0; i < stack.length; i++)
+              {
+                LOG.log(Level.WARNING, stack[i].toString());
+              }
+
+              t = t.getCause();
+              if (t != null)
+              {
+                LOG.log(Level.WARNING, "Root cause:");
+              }
+            }
+          } catch (Throwable t2) {
+            System.err.println("Unable to initialize log");
+            t2.printStackTrace();
+          }
         }
       }
     });

--
Gitblit v1.10.0