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;