aboutsummaryrefslogtreecommitdiffstats
path: root/container-accesslogging/src/main/java/com/yahoo/container/logging/JSONFormatter.java
diff options
context:
space:
mode:
Diffstat (limited to 'container-accesslogging/src/main/java/com/yahoo/container/logging/JSONFormatter.java')
-rw-r--r--container-accesslogging/src/main/java/com/yahoo/container/logging/JSONFormatter.java14
1 files changed, 14 insertions, 0 deletions
diff --git a/container-accesslogging/src/main/java/com/yahoo/container/logging/JSONFormatter.java b/container-accesslogging/src/main/java/com/yahoo/container/logging/JSONFormatter.java
index 450369d998f..cca8da2e936 100644
--- a/container-accesslogging/src/main/java/com/yahoo/container/logging/JSONFormatter.java
+++ b/container-accesslogging/src/main/java/com/yahoo/container/logging/JSONFormatter.java
@@ -11,6 +11,8 @@ import java.io.IOException;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.net.URI;
+import java.security.Principal;
+import java.time.Instant;
import java.util.List;
import java.util.Map;
import java.util.Objects;
@@ -47,6 +49,8 @@ public class JSONFormatter {
generator.writeStartObject();
generator.writeStringField("ip", accessLogEntry.getIpV4Address());
generator.writeNumberField("time", toTimestampInSeconds(accessLogEntry.getTimeStampMillis()));
+ generator.writeStringField("time-iso8601",
+ Instant.ofEpochMilli(accessLogEntry.getTimeStampMillis()).toString());
generator.writeNumberField("duration",
durationAsSeconds(accessLogEntry.getDurationBetweenRequestResponseMillis()));
generator.writeNumberField("responsesize", accessLogEntry.getReturnedContentSize());
@@ -56,6 +60,16 @@ public class JSONFormatter {
generator.writeStringField("version", accessLogEntry.getHttpVersion());
generator.writeStringField("agent", accessLogEntry.getUserAgent());
generator.writeStringField("host", accessLogEntry.getHostString());
+ generator.writeStringField("scheme", accessLogEntry.getScheme());
+ generator.writeNumberField("localport", accessLogEntry.getLocalPort());
+
+ Principal principal = accessLogEntry.getUserPrincipal();
+ if (principal != null) {
+ generator.writeObjectFieldStart("user-principal");
+ generator.writeStringField("name", principal.getName());
+ generator.writeStringField("type", principal.getClass().getName());
+ generator.writeEndObject();
+ }
// Only add remote address/port fields if relevant
if (remoteAddressDiffers(accessLogEntry.getIpV4Address(), accessLogEntry.getRemoteAddress())) {