aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2020-02-12 14:08:35 +0000
committerHenning Baldersheim <balder@yahoo-inc.com>2020-02-12 14:08:35 +0000
commita809a9d8939d39baad3f75ee3d7a72ed2f3104d7 (patch)
treeb292cc6a32e5f5e11fe456c82eae62d0bd119d09
parent7e935f177c2c5195fc3055d649fa962d84b275e9 (diff)
Render Inspectable.
-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());
}
}