You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2013/07/14 11:15:56 UTC

git commit: CAMEL-6407: message history dump. Output the Exchange a bit nicer.

Updated Branches:
  refs/heads/master e5ae9753d -> aba0aedd8


CAMEL-6407:  message history dump. Output the Exchange a bit nicer.


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/aba0aedd
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/aba0aedd
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/aba0aedd

Branch: refs/heads/master
Commit: aba0aedd89ce31bc7bf894525e52123bde6c991e
Parents: e5ae975
Author: Claus Ibsen <da...@apache.org>
Authored: Sun Jul 14 11:15:47 2013 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Sun Jul 14 11:15:47 2013 +0200

----------------------------------------------------------------------
 .../processor/DefaultExchangeFormatter.java     | 54 ++++++++++++++------
 .../camel/processor/RedeliveryErrorHandler.java |  1 +
 2 files changed, 40 insertions(+), 15 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/aba0aedd/camel-core/src/main/java/org/apache/camel/processor/DefaultExchangeFormatter.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/processor/DefaultExchangeFormatter.java b/camel-core/src/main/java/org/apache/camel/processor/DefaultExchangeFormatter.java
index c67ec79..0ba9f1b 100644
--- a/camel-core/src/main/java/org/apache/camel/processor/DefaultExchangeFormatter.java
+++ b/camel-core/src/main/java/org/apache/camel/processor/DefaultExchangeFormatter.java
@@ -35,6 +35,8 @@ public class DefaultExchangeFormatter implements ExchangeFormatter {
 
     protected static final String LS = System.getProperty("line.separator");
 
+    public enum OutputStyle { Default, Tab, Fixed }
+
     private boolean showExchangeId;
     private boolean showExchangePattern = true;
     private boolean showProperties;
@@ -51,6 +53,17 @@ public class DefaultExchangeFormatter implements ExchangeFormatter {
     private boolean showStreams;
     private boolean showFiles;
     private int maxChars = 10000;
+    private OutputStyle style = OutputStyle.Default;
+
+    private String style(String label) {
+        if (style == OutputStyle.Default) {
+            return String.format(", %s: ", label);
+        } if (style == OutputStyle.Tab) {
+            return String.format("\t%s: ", label);
+        } else {
+            return String.format("\t%-20s", label);
+        }
+    }
 
     public String format(Exchange exchange) {
         Message in = exchange.getIn();
@@ -60,38 +73,38 @@ public class DefaultExchangeFormatter implements ExchangeFormatter {
             if (multiline) {
                 sb.append(LS);
             }
-            sb.append(", Id:").append(exchange.getExchangeId());
+            sb.append(style("Id")).append(exchange.getExchangeId());
         }
         if (showAll || showExchangePattern) {
             if (multiline) {
                 sb.append(LS);
             }
-            sb.append(", ExchangePattern:").append(exchange.getPattern());
+            sb.append(style("ExchangePattern")).append(exchange.getPattern());
         }
 
         if (showAll || showProperties) {
             if (multiline) {
                 sb.append(LS);
             }
-            sb.append(", Properties:").append(sortMap(exchange.getProperties()));
+            sb.append(style("Properties")).append(sortMap(exchange.getProperties()));
         }
         if (showAll || showHeaders) {
             if (multiline) {
                 sb.append(LS);
             }
-            sb.append(", Headers:").append(sortMap(in.getHeaders()));
+            sb.append(style("Headers")).append(sortMap(in.getHeaders()));
         }
         if (showAll || showBodyType) {
             if (multiline) {
                 sb.append(LS);
             }
-            sb.append(", BodyType:").append(getBodyTypeAsString(in));
+            sb.append(style("BodyType")).append(getBodyTypeAsString(in));
         }
         if (showAll || showBody) {
             if (multiline) {
                 sb.append(LS);
             }
-            sb.append(", Body:").append(getBodyAsString(in));
+            sb.append(style("Body")).append(getBodyAsString(in));
         }
 
         if (showAll || showException || showCaughtException) {
@@ -110,16 +123,16 @@ public class DefaultExchangeFormatter implements ExchangeFormatter {
                     sb.append(LS);
                 }
                 if (caught) {
-                    sb.append(", CaughtExceptionType:").append(exception.getClass().getCanonicalName());
-                    sb.append(", CaughtExceptionMessage:").append(exception.getMessage());
+                    sb.append(style("CaughtExceptionType")).append(exception.getClass().getCanonicalName());
+                    sb.append(style("CaughtExceptionMessage")).append(exception.getMessage());
                 } else {
-                    sb.append(", ExceptionType:").append(exception.getClass().getCanonicalName());
-                    sb.append(", ExceptionMessage:").append(exception.getMessage());
+                    sb.append(style("ExceptionType")).append(exception.getClass().getCanonicalName());
+                    sb.append(style("ExceptionMessage")).append(exception.getMessage());
                 }
                 if (showAll || showStackTrace) {
                     StringWriter sw = new StringWriter();
                     exception.printStackTrace(new PrintWriter(sw));
-                    sb.append(", StackTrace:").append(sw.toString());
+                    sb.append(style("StackTrace")).append(sw.toString());
                 }
             }
         }
@@ -131,25 +144,25 @@ public class DefaultExchangeFormatter implements ExchangeFormatter {
                     if (multiline) {
                         sb.append(LS);
                     }
-                    sb.append(", OutHeaders:").append(sortMap(out.getHeaders()));
+                    sb.append(style("OutHeaders")).append(sortMap(out.getHeaders()));
                 }
                 if (showAll || showBodyType) {
                     if (multiline) {
                         sb.append(LS);
                     }
-                    sb.append(", OutBodyType:").append(getBodyTypeAsString(out));
+                    sb.append(style("OutBodyType")).append(getBodyTypeAsString(out));
                 }
                 if (showAll || showBody) {
                     if (multiline) {
                         sb.append(LS);
                     }
-                    sb.append(", OutBody:").append(getBodyAsString(out));
+                    sb.append(style("OutBody")).append(getBodyAsString(out));
                 }
             } else {
                 if (multiline) {
                     sb.append(LS);
                 }
-                sb.append(", Out: null");
+                sb.append(style("Out: null"));
             }
         }
 
@@ -335,6 +348,17 @@ public class DefaultExchangeFormatter implements ExchangeFormatter {
         this.showFiles = showFiles;
     }
 
+    public OutputStyle getStyle() {
+        return style;
+    }
+
+    /**
+     * Sets the outputs style to use.
+     */
+    public void setStyle(OutputStyle style) {
+        this.style = style;
+    }
+
     // Implementation methods
     //-------------------------------------------------------------------------
     protected String getBodyAsString(Message message) {

http://git-wip-us.apache.org/repos/asf/camel/blob/aba0aedd/camel-core/src/main/java/org/apache/camel/processor/RedeliveryErrorHandler.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/processor/RedeliveryErrorHandler.java b/camel-core/src/main/java/org/apache/camel/processor/RedeliveryErrorHandler.java
index d76fd7c..f4e7a62 100644
--- a/camel-core/src/main/java/org/apache/camel/processor/RedeliveryErrorHandler.java
+++ b/camel-core/src/main/java/org/apache/camel/processor/RedeliveryErrorHandler.java
@@ -201,6 +201,7 @@ public abstract class RedeliveryErrorHandler extends ErrorHandlerSupport impleme
         formatter.setShowExchangeId(true);
         formatter.setMultiline(true);
         formatter.setShowHeaders(true);
+        formatter.setStyle(DefaultExchangeFormatter.OutputStyle.Fixed);
         this.exchangeFormatter = formatter;
     }