summaryrefslogtreecommitdiffstats
path: root/container-accesslogging/src/main/java/com/yahoo/container/logging/TraceRenderer.java
diff options
context:
space:
mode:
Diffstat (limited to 'container-accesslogging/src/main/java/com/yahoo/container/logging/TraceRenderer.java')
-rw-r--r--container-accesslogging/src/main/java/com/yahoo/container/logging/TraceRenderer.java14
1 files changed, 13 insertions, 1 deletions
diff --git a/container-accesslogging/src/main/java/com/yahoo/container/logging/TraceRenderer.java b/container-accesslogging/src/main/java/com/yahoo/container/logging/TraceRenderer.java
index b974111b007..0c03dcad8dd 100644
--- a/container-accesslogging/src/main/java/com/yahoo/container/logging/TraceRenderer.java
+++ b/container-accesslogging/src/main/java/com/yahoo/container/logging/TraceRenderer.java
@@ -1,5 +1,8 @@
package com.yahoo.container.logging;
+import com.yahoo.data.access.Inspectable;
+import com.yahoo.data.access.Inspector;
+import com.yahoo.data.access.simple.JsonRender;
import com.yahoo.yolean.trace.TraceNode;
import com.yahoo.yolean.trace.TraceVisitor;
import com.fasterxml.jackson.core.JsonGenerator;
@@ -33,7 +36,16 @@ public class TraceRenderer extends TraceVisitor {
@Override
public void consume(Object object) throws IOException {
- generator.writeObject(object);
+ if (object instanceof Inspectable) {
+ renderInspectorDirect(((Inspectable) object).inspect());
+ } else {
+ generator.writeObject(object);
+ }
+ }
+ private void renderInspectorDirect(Inspector data) throws IOException {
+ StringBuilder intermediate = new StringBuilder();
+ JsonRender.render(data, intermediate, true);
+ generator.writeRawValue(intermediate.toString());
}
}