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 2016/08/07 14:08:52 UTC

[1/3] camel git commit: CAMEL-10210: Trace formatter support for multiline

Repository: camel
Updated Branches:
  refs/heads/master ba1ffc5c5 -> 37e971733


CAMEL-10210: Trace formatter support for multiline


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

Branch: refs/heads/master
Commit: 7808af4a21fed62898385dd4d9cc96689a63ca21
Parents: ba1ffc5
Author: Darius <da...@gmail.com>
Authored: Fri Aug 5 14:06:41 2016 -0400
Committer: Claus Ibsen <da...@apache.org>
Committed: Sun Aug 7 15:16:21 2016 +0200

----------------------------------------------------------------------
 .../camel/management/mbean/ManagedTracer.java   | 15 ++++
 .../interceptor/DefaultTraceFormatter.java      | 84 ++++++++++++++++++--
 .../interceptor/DefaultTraceFormatterTest.java  |  4 +
 3 files changed, 95 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/7808af4a/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedTracer.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedTracer.java b/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedTracer.java
index 1b9fe9d..5f3d0fa 100644
--- a/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedTracer.java
+++ b/camel-core/src/main/java/org/apache/camel/management/mbean/ManagedTracer.java
@@ -265,6 +265,21 @@ public class ManagedTracer implements NotificationSenderAware, ManagedTracerMBea
         tracer.getDefaultTraceFormatter().setShowProperties(showProperties);
     }
 
+    public boolean getFormatterMultiline() {
+        if (tracer.getDefaultTraceFormatter() == null) {
+            return false;
+        }
+        return tracer.getDefaultTraceFormatter().isMultiline();
+    }
+
+    public void setFormatterMultiline(boolean multiline) {
+        if (tracer.getDefaultTraceFormatter() == null) {
+            return;
+        }
+        tracer.getDefaultTraceFormatter().setMultiline(multiline);
+    }
+
+    
     public boolean getFormatterShowNode() {
         if (tracer.getDefaultTraceFormatter() == null) {
             return false;

http://git-wip-us.apache.org/repos/asf/camel/blob/7808af4a/camel-core/src/main/java/org/apache/camel/processor/interceptor/DefaultTraceFormatter.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/processor/interceptor/DefaultTraceFormatter.java b/camel-core/src/main/java/org/apache/camel/processor/interceptor/DefaultTraceFormatter.java
index c0ac540..23a7cb0 100644
--- a/camel-core/src/main/java/org/apache/camel/processor/interceptor/DefaultTraceFormatter.java
+++ b/camel-core/src/main/java/org/apache/camel/processor/interceptor/DefaultTraceFormatter.java
@@ -29,6 +29,10 @@ import org.apache.camel.util.MessageHelper;
  * @version 
  */
 public class DefaultTraceFormatter implements TraceFormatter {
+    
+    protected static final String LS = System.getProperty("line.separator");
+    private static final String SEPARATOR = "###REPLACE_ME###";
+    
     private int breadCrumbLength;
     private int nodeLength;
     private boolean showBreadCrumb = true;
@@ -45,6 +49,8 @@ public class DefaultTraceFormatter implements TraceFormatter {
     private boolean showOutBodyType;
     private boolean showException = true;
     private boolean showRouteId = true;
+    private boolean multiline;
+
     private int maxChars = 10000;
 
     public Object format(final TraceInterceptor interceptor, final ProcessorDefinition<?> node, final Exchange exchange) {
@@ -55,50 +61,104 @@ public class DefaultTraceFormatter implements TraceFormatter {
         }
 
         StringBuilder sb = new StringBuilder();
+        if (multiline) {
+            sb.append(SEPARATOR);
+        }
         sb.append(extractBreadCrumb(interceptor, node, exchange));
         
         if (showExchangePattern) {
+            if (multiline) {
+                sb.append(SEPARATOR);
+            }
             sb.append(", Pattern:").append(exchange.getPattern());
         }
         // only show properties if we have any
         if (showProperties && !exchange.getProperties().isEmpty()) {
+            if (multiline) {
+                sb.append(SEPARATOR);
+            }
             sb.append(", Properties:").append(exchange.getProperties());
         }
         // only show headers if we have any
         if (showHeaders && !in.getHeaders().isEmpty()) {
+            if (multiline) {
+                sb.append(SEPARATOR);
+            }
             sb.append(", Headers:").append(in.getHeaders());
         }
         if (showBodyType) {
+            if (multiline) {
+                sb.append(SEPARATOR);
+            }
             sb.append(", BodyType:").append(MessageHelper.getBodyTypeName(in));
         }
         if (showBody) {
+            if (multiline) {
+                sb.append(SEPARATOR);
+            }
             sb.append(", Body:").append(MessageHelper.extractBodyForLogging(in, ""));
         }
         if (showOutHeaders && out != null) {
+            if (multiline) {
+                sb.append(SEPARATOR);
+            }
             sb.append(", OutHeaders:").append(out.getHeaders());
         }
         if (showOutBodyType && out != null) {
+            if (multiline) {
+                sb.append(SEPARATOR);
+            }
             sb.append(", OutBodyType:").append(MessageHelper.getBodyTypeName(out));
         }
         if (showOutBody && out != null) {
+            if (multiline) {
+                sb.append(SEPARATOR);
+            }
             sb.append(", OutBody:").append(MessageHelper.extractBodyForLogging(out, ""));
         }        
         if (showException && exchange.getException() != null) {
+            if (multiline) {
+                sb.append(SEPARATOR);
+            }
             sb.append(", Exception:").append(exchange.getException());
         }
 
         // replace ugly <<<, with <<<
-        String s = sb.toString();
-        s = s.replaceFirst("<<<,", "<<<");
-
+        sb = new StringBuilder(sb.toString().replaceFirst("<<<,", "<<<"));
+        
         if (maxChars > 0) {
-            if (s.length() > maxChars) {
-                s = s.substring(0, maxChars) + "...";
+            StringBuilder answer = new StringBuilder();
+            for (String s : sb.toString().split(SEPARATOR)) {
+                if (s != null) {
+                    if (s.length() > maxChars) {
+                        s = s.substring(0, maxChars);
+                        answer.append(s).append("...");
+                    } else {
+                        answer.append(s);
+                    }
+                    if (multiline) {
+                        answer.append(LS);
+                    }
+                }
             }
-            return s;
-        } else {
-            return s;
+
+            // switch string buffer
+            sb = answer;
         }
+        
+//        if (multiline) {
+//            sb.insert(0, "Exchange[");
+//            sb.append("]");
+//        } else {
+//            // get rid of the leading space comma if needed
+//            if (sb.length() > 0 && sb.charAt(0) == ',' && sb.charAt(1) == ' ') {
+//                sb.replace(0, 2, "");
+//            }
+//            sb.insert(0, "Exchange[");
+//            sb.append("]");
+//        }
+        
+        return sb.toString();
     }
 
     public boolean isShowBody() {
@@ -205,6 +265,14 @@ public class DefaultTraceFormatter implements TraceFormatter {
         this.showRouteId = showRouteId;
     }
 
+    public boolean isMultiline() {
+        return multiline;
+    }
+
+    public void setMultiline(boolean multiline) {
+        this.multiline = multiline;
+    }
+
     public int getBreadCrumbLength() {
         return breadCrumbLength;
     }

http://git-wip-us.apache.org/repos/asf/camel/blob/7808af4a/camel-core/src/test/java/org/apache/camel/processor/interceptor/DefaultTraceFormatterTest.java
----------------------------------------------------------------------
diff --git a/camel-core/src/test/java/org/apache/camel/processor/interceptor/DefaultTraceFormatterTest.java b/camel-core/src/test/java/org/apache/camel/processor/interceptor/DefaultTraceFormatterTest.java
index e1993ce..1ee5ee5 100644
--- a/camel-core/src/test/java/org/apache/camel/processor/interceptor/DefaultTraceFormatterTest.java
+++ b/camel-core/src/test/java/org/apache/camel/processor/interceptor/DefaultTraceFormatterTest.java
@@ -18,6 +18,7 @@ package org.apache.camel.processor.interceptor;
 
 import org.apache.camel.ContextTestSupport;
 import org.apache.camel.Exchange;
+import org.apache.camel.LoggingLevel;
 import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
 import org.apache.camel.component.mock.MockEndpoint;
@@ -149,6 +150,9 @@ public class DefaultTraceFormatterTest extends ContextTestSupport {
 
         formatter.setShowProperties(true);
         assertEquals(true, formatter.isShowProperties());
+        
+        formatter.setMultiline(true);
+        assertEquals(true, formatter.isMultiline());
 
         formatter.setShowShortExchangeId(true);
         assertEquals(true, formatter.isShowShortExchangeId());


[2/3] camel git commit: CAMEL-10210: Trace formatter support for multiline

Posted by da...@apache.org.
CAMEL-10210: Trace formatter support for multiline


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

Branch: refs/heads/master
Commit: e42ebefd7a6ae52604aa2ba33bb6ff405a6f48b6
Parents: 7808af4
Author: Darius <da...@gmail.com>
Authored: Fri Aug 5 14:06:41 2016 -0400
Committer: Claus Ibsen <da...@apache.org>
Committed: Sun Aug 7 15:21:07 2016 +0200

----------------------------------------------------------------------
 .../processor/interceptor/DefaultTraceFormatter.java  | 14 +-------------
 1 file changed, 1 insertion(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/e42ebefd/camel-core/src/main/java/org/apache/camel/processor/interceptor/DefaultTraceFormatter.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/processor/interceptor/DefaultTraceFormatter.java b/camel-core/src/main/java/org/apache/camel/processor/interceptor/DefaultTraceFormatter.java
index 23a7cb0..a02c3da 100644
--- a/camel-core/src/main/java/org/apache/camel/processor/interceptor/DefaultTraceFormatter.java
+++ b/camel-core/src/main/java/org/apache/camel/processor/interceptor/DefaultTraceFormatter.java
@@ -145,19 +145,7 @@ public class DefaultTraceFormatter implements TraceFormatter {
             // switch string buffer
             sb = answer;
         }
-        
-//        if (multiline) {
-//            sb.insert(0, "Exchange[");
-//            sb.append("]");
-//        } else {
-//            // get rid of the leading space comma if needed
-//            if (sb.length() > 0 && sb.charAt(0) == ',' && sb.charAt(1) == ' ') {
-//                sb.replace(0, 2, "");
-//            }
-//            sb.insert(0, "Exchange[");
-//            sb.append("]");
-//        }
-        
+
         return sb.toString();
     }
 


[3/3] camel git commit: Fixed CS. This closes #1106. This closes #1110. This closes #1111.

Posted by da...@apache.org.
Fixed CS. This closes #1106. This closes #1110. This closes #1111.


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

Branch: refs/heads/master
Commit: 37e971733359bfbf6390beaf2af3a75a44cfba23
Parents: e42ebef
Author: Claus Ibsen <da...@apache.org>
Authored: Sun Aug 7 16:08:42 2016 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Sun Aug 7 16:08:42 2016 +0200

----------------------------------------------------------------------
 .../main/java/org/apache/camel/component/seda/SedaProducer.java    | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/37e97173/camel-core/src/main/java/org/apache/camel/component/seda/SedaProducer.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/component/seda/SedaProducer.java b/camel-core/src/main/java/org/apache/camel/component/seda/SedaProducer.java
index 03ce9f3..3d9582e 100644
--- a/camel-core/src/main/java/org/apache/camel/component/seda/SedaProducer.java
+++ b/camel-core/src/main/java/org/apache/camel/component/seda/SedaProducer.java
@@ -186,7 +186,7 @@ public class SedaProducer extends DefaultAsyncProducer {
         // if handover we need to do special handover to avoid handing over
         // RestBindingMarshalOnCompletion as it should not be handed over with SEDA
         Exchange copy = ExchangeHelper.createCorrelatedCopy(exchange, handover, true,
-                synchronization -> !synchronization.getClass().getName().contains("RestBindingMarshalOnCompletion"));
+            synchronization -> !synchronization.getClass().getName().contains("RestBindingMarshalOnCompletion"));
         // set a new from endpoint to be the seda queue
         copy.setFromEndpoint(endpoint);
         return copy;