]> source.dussan.org Git - sonarqube.git/commitdiff
Improve logging of exception during server-side picocontainer startup
authorSimon Brandhof <simon.brandhof@gmail.com>
Tue, 27 Mar 2012 11:33:44 +0000 (13:33 +0200)
committerSimon Brandhof <simon.brandhof@gmail.com>
Tue, 27 Mar 2012 13:02:56 +0000 (15:02 +0200)
sonar-core/src/main/java/org/sonar/core/PicoUtils.java
sonar-server/src/main/java/org/sonar/server/platform/Platform.java

index 0b51d6b9e77d43be2d7c0bf6ccd1c558fc77f0a8..8a5599b14312f4544c5efc71f443edb61d54dec7 100644 (file)
@@ -27,7 +27,7 @@ public final class PicoUtils {
   private PicoUtils() {
   }
 
-  static Throwable sanitize(RuntimeException t) {
+  public static Throwable sanitize(Throwable t) {
     Throwable result = t;
     Throwable cause = t.getCause();
     if (t instanceof PicoLifecycleException && cause != null) {
@@ -41,7 +41,7 @@ public final class PicoUtils {
     return result;
   }
 
-  public static void propagateStartupException(RuntimeException t) {
+  public static void propagateStartupException(Throwable t) {
     throw Throwables.propagate(sanitize(t));
   }
 }
index 682cd208416da5b5726f6f8eb17df07556e76f86..e698c426cd7d43a9138e36843f446063da944c3e 100644 (file)
@@ -101,8 +101,9 @@ public final class Platform {
 
       } catch (RuntimeException e) {
         // full stacktrace is lost by jruby. It must be logged now.
-        LoggerFactory.getLogger(getClass()).error(e.getMessage(), e);
-        PicoUtils.propagateStartupException(e);
+        Throwable initialException = PicoUtils.sanitize(e);
+        LoggerFactory.getLogger(getClass()).error(initialException.getMessage(), initialException);
+        PicoUtils.propagateStartupException(initialException);
       }
     }
   }
@@ -118,8 +119,9 @@ public final class Platform {
         profiler.stop();
       } catch (RuntimeException e) {
         // full stacktrace is lost by jruby. It must be logged now.
-        LoggerFactory.getLogger(getClass()).error(e.getMessage(), e);
-        PicoUtils.propagateStartupException(e);
+        Throwable initialException = PicoUtils.sanitize(e);
+        LoggerFactory.getLogger(getClass()).error(initialException.getMessage(), initialException);
+        PicoUtils.propagateStartupException(initialException);
       }
     }
   }