|
@ -4,6 +4,7 @@ import com.fasterxml.jackson.core.JsonProcessingException;
|
|
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
|
|
import com.fasterxml.jackson.databind.node.ObjectNode;
|
|
|
import org.apache.camel.Exchange;
|
|
|
import org.apache.camel.Message;
|
|
|
import org.apache.camel.model.ProcessorDefinition;
|
|
|
import org.apache.camel.processor.interceptor.DefaultTraceFormatter;
|
|
|
import org.apache.camel.processor.interceptor.TraceInterceptor;
|
|
@ -16,21 +17,46 @@ import java.util.Map;
|
|
|
public class TracerFormatter extends DefaultTraceFormatter {
|
|
|
@Override
|
|
|
public Object format(TraceInterceptor interceptor, ProcessorDefinition<?> node, Exchange exchange) {
|
|
|
System.out.println(exchange.getIn().getBody());
|
|
|
|
|
|
ObjectMapper objectMapper = new ObjectMapper();
|
|
|
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) {
|
|
|
e.printStackTrace();
|
|
|
}
|