|  | @ -4,6 +4,7 @@ import com.fasterxml.jackson.core.JsonProcessingException;
 | 
												
													
														
															|  | import com.fasterxml.jackson.databind.ObjectMapper;
 |  | import com.fasterxml.jackson.databind.ObjectMapper;
 | 
												
													
														
															|  | import com.fasterxml.jackson.databind.node.ObjectNode;
 |  | import com.fasterxml.jackson.databind.node.ObjectNode;
 | 
												
													
														
															|  | import org.apache.camel.Exchange;
 |  | import org.apache.camel.Exchange;
 | 
												
													
														
															|  | 
 |  | import org.apache.camel.Message;
 | 
												
													
														
															|  | import org.apache.camel.model.ProcessorDefinition;
 |  | import org.apache.camel.model.ProcessorDefinition;
 | 
												
													
														
															|  | import org.apache.camel.processor.interceptor.DefaultTraceFormatter;
 |  | import org.apache.camel.processor.interceptor.DefaultTraceFormatter;
 | 
												
													
														
															|  | import org.apache.camel.processor.interceptor.TraceInterceptor;
 |  | import org.apache.camel.processor.interceptor.TraceInterceptor;
 | 
												
											
												
													
														
															|  | @ -16,21 +17,46 @@ import java.util.Map;
 | 
												
													
														
															|  | public class TracerFormatter extends DefaultTraceFormatter {
 |  | public class TracerFormatter extends DefaultTraceFormatter {
 | 
												
													
														
															|  |     @Override
 |  |     @Override
 | 
												
													
														
															|  |     public Object format(TraceInterceptor interceptor, ProcessorDefinition<?> node, Exchange exchange) {
 |  |     public Object format(TraceInterceptor interceptor, ProcessorDefinition<?> node, Exchange exchange) {
 | 
												
													
														
															|  |         System.out.println(exchange.getIn().getBody());
 |  | 
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  |         ObjectMapper objectMapper = new ObjectMapper();
 |  |         ObjectMapper objectMapper = new ObjectMapper();
 | 
												
													
														
															|  |         try {
 |  |         try {
 | 
												
													
														
															|  | //            return objectMapper.writeValueAsString(exchange.getIn().getHeaders());
 |  | 
 | 
												
													
														
															|  |             ObjectNode objectNode = objectMapper.createObjectNode();
 |  | 
 | 
												
													
														
															|  |             Map<String, Object> headers = exchange.getIn().getHeaders();
 |  | 
 | 
												
													
														
															|  |             headers.forEach((key, value) -> {
 |  | 
 | 
												
													
														
															|  |                 if (value == null) {
 |  | 
 | 
												
													
														
															|  |                     return;
 |  | 
 | 
												
													
														
															|  | 
 |  |             ObjectNode rootNode = objectMapper.createObjectNode();
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  | 
 |  |             {
 | 
												
													
														
															|  | 
 |  |                 Message in = exchange.getIn();
 | 
												
													
														
															|  | 
 |  |                 ObjectNode inNode = rootNode.with("in");
 | 
												
													
														
															|  | 
 |  |                 Map<String, Object> headers = in.getHeaders();
 | 
												
													
														
															|  | 
 |  |                 headers.forEach((key, value) -> {
 | 
												
													
														
															|  | 
 |  |                     if (value == null) {
 | 
												
													
														
															|  | 
 |  |                         return;
 | 
												
													
														
															|  | 
 |  |                     }
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  | 
 |  |                     inNode.put(key, value.toString());
 | 
												
													
														
															|  | 
 |  |                 });
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  | 
 |  |                 if (in.getBody() != null) {
 | 
												
													
														
															|  | 
 |  |                     inNode.put("body", in.getBody(String.class));
 | 
												
													
														
															|  |                 }
 |  |                 }
 | 
												
													
														
															|  | 
 |  |             }
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  |                 objectNode.put(key, value.toString());
 |  | 
 | 
												
													
														
															|  |             });
 |  | 
 | 
												
													
														
															|  | 
 |  |             {
 | 
												
													
														
															|  | 
 |  |                 ObjectNode outNode = rootNode.with("out");
 | 
												
													
														
															|  | 
 |  |                 Message out = exchange.getOut();
 | 
												
													
														
															|  | 
 |  |                 Map<String, Object> headers = out.getHeaders();
 | 
												
													
														
															|  | 
 |  |                 headers.forEach((key, value) -> {
 | 
												
													
														
															|  | 
 |  |                     if (value == null) {
 | 
												
													
														
															|  | 
 |  |                         return;
 | 
												
													
														
															|  | 
 |  |                     }
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  | 
 |  |                     outNode.put(key, value.toString());
 | 
												
													
														
															|  | 
 |  |                 });
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  | 
 |  |                 if (out.getBody() != null) {
 | 
												
													
														
															|  | 
 |  |                     outNode.put("body", out.getBody(String.class));
 | 
												
													
														
															|  | 
 |  |                 }
 | 
												
													
														
															|  | 
 |  |             }
 | 
												
													
														
															|  | 
 |  | 
 | 
												
													
														
															|  |             return objectMapper.writeValueAsString(objectNode);
 |  | 
 | 
												
													
														
															|  | 
 |  |             return objectMapper.writeValueAsString(rootNode);
 | 
												
													
														
															|  |         } catch (JsonProcessingException e) {
 |  |         } catch (JsonProcessingException e) {
 | 
												
													
														
															|  |             e.printStackTrace();
 |  |             e.printStackTrace();
 | 
												
													
														
															|  |         }
 |  |         }
 |