You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by re...@apache.org on 2021/02/15 13:23:21 UTC

svn commit: r1886528 - in /jackrabbit/branches/2.14: ./ jackrabbit-jcr-commons/src/main/java/org/apache/jackrabbit/commons/JcrUtils.java

Author: reschke
Date: Mon Feb 15 13:23:20 2021
New Revision: 1886528

URL: http://svn.apache.org/viewvc?rev=1886528&view=rev
Log:
JCR-4609: Improve logging in case of exception in JcrUtils.getRepository() (merged r1879583 into 2.14)

Modified:
    jackrabbit/branches/2.14/   (props changed)
    jackrabbit/branches/2.14/jackrabbit-jcr-commons/src/main/java/org/apache/jackrabbit/commons/JcrUtils.java

Propchange: jackrabbit/branches/2.14/
------------------------------------------------------------------------------
  Merged /jackrabbit/trunk:r1879583

Modified: jackrabbit/branches/2.14/jackrabbit-jcr-commons/src/main/java/org/apache/jackrabbit/commons/JcrUtils.java
URL: http://svn.apache.org/viewvc/jackrabbit/branches/2.14/jackrabbit-jcr-commons/src/main/java/org/apache/jackrabbit/commons/JcrUtils.java?rev=1886528&r1=1886527&r2=1886528&view=diff
==============================================================================
--- jackrabbit/branches/2.14/jackrabbit-jcr-commons/src/main/java/org/apache/jackrabbit/commons/JcrUtils.java (original)
+++ jackrabbit/branches/2.14/jackrabbit-jcr-commons/src/main/java/org/apache/jackrabbit/commons/JcrUtils.java Mon Feb 15 13:23:20 2021
@@ -22,6 +22,8 @@ import java.io.FilterInputStream;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
+import java.io.PrintWriter;
+import java.io.StringWriter;
 import java.io.UnsupportedEncodingException;
 import java.math.BigDecimal;
 import java.net.URI;
@@ -204,12 +206,11 @@ public class JcrUtils {
                 }
             } catch (Exception e) {
                 log.append(": failed");
-                for (Throwable c = e; c != null; c = c.getCause()) {
-                    log.append(newline);
-                    log.append("        because of ");
-                    log.append(c.getClass().getSimpleName());
-                    log.append(": ");
-                    log.append(c.getMessage());
+                try (StringWriter writer = new StringWriter(); PrintWriter printWriter = new PrintWriter(writer)) {
+                    e.printStackTrace(printWriter);
+                    log.append(newline).append(writer.getBuffer());
+                } catch (IOException e1) {
+                    log.append("Could not determine root cause due to ").append(e.getMessage());
                 }
             }
         }