|
@@ -325,6 +325,9 @@ public class LoggingAuditTrailTests extends ESTestCase {
|
|
|
if (randomBoolean()) {
|
|
|
threadContext.putHeader(Task.X_OPAQUE_ID_HTTP_HEADER, randomAlphaOfLengthBetween(1, 4));
|
|
|
}
|
|
|
+ if (randomBoolean()) {
|
|
|
+ threadContext.putHeader(Task.TRACE_ID, randomAlphaOfLength(32));
|
|
|
+ }
|
|
|
if (randomBoolean()) {
|
|
|
threadContext.putHeader(
|
|
|
AuditTrail.X_FORWARDED_FOR_HEADER,
|
|
@@ -1306,6 +1309,7 @@ public class LoggingAuditTrailTests extends ESTestCase {
|
|
|
indicesRequest(request, checkedFields, checkedArrayFields);
|
|
|
restOrTransportOrigin(request, threadContext, checkedFields);
|
|
|
opaqueId(threadContext, checkedFields);
|
|
|
+ traceId(threadContext, checkedFields);
|
|
|
forwardedFor(threadContext, checkedFields);
|
|
|
assertMsg(logger, checkedFields.map(), checkedArrayFields.map());
|
|
|
|
|
@@ -1341,6 +1345,7 @@ public class LoggingAuditTrailTests extends ESTestCase {
|
|
|
checkedFields.put(LoggingAuditTrail.REQUEST_BODY_FIELD_NAME, expectedMessage);
|
|
|
}
|
|
|
opaqueId(threadContext, checkedFields);
|
|
|
+ traceId(threadContext, checkedFields);
|
|
|
forwardedFor(threadContext, checkedFields);
|
|
|
assertMsg(logger, checkedFields.map());
|
|
|
|
|
@@ -1373,6 +1378,7 @@ public class LoggingAuditTrailTests extends ESTestCase {
|
|
|
restOrTransportOrigin(request, threadContext, checkedFields);
|
|
|
indicesRequest(request, checkedFields, checkedArrayFields);
|
|
|
opaqueId(threadContext, checkedFields);
|
|
|
+ traceId(threadContext, checkedFields);
|
|
|
forwardedFor(threadContext, checkedFields);
|
|
|
assertMsg(logger, checkedFields.map(), checkedArrayFields.map());
|
|
|
|
|
@@ -1400,6 +1406,7 @@ public class LoggingAuditTrailTests extends ESTestCase {
|
|
|
restOrTransportOrigin(request, threadContext, checkedFields);
|
|
|
indicesRequest(request, checkedFields, checkedArrayFields);
|
|
|
opaqueId(threadContext, checkedFields);
|
|
|
+ traceId(threadContext, checkedFields);
|
|
|
forwardedFor(threadContext, checkedFields);
|
|
|
assertMsg(logger, checkedFields.map(), checkedArrayFields.map());
|
|
|
|
|
@@ -1447,6 +1454,7 @@ public class LoggingAuditTrailTests extends ESTestCase {
|
|
|
checkedFields.put(LoggingAuditTrail.URL_QUERY_FIELD_NAME, "foo=bar");
|
|
|
}
|
|
|
opaqueId(threadContext, checkedFields);
|
|
|
+ traceId(threadContext, checkedFields);
|
|
|
forwardedFor(threadContext, checkedFields);
|
|
|
assertMsg(logger, checkedFields.map());
|
|
|
|
|
@@ -1489,6 +1497,7 @@ public class LoggingAuditTrailTests extends ESTestCase {
|
|
|
checkedFields.put(LoggingAuditTrail.URL_QUERY_FIELD_NAME, "bar=baz");
|
|
|
}
|
|
|
opaqueId(threadContext, checkedFields);
|
|
|
+ traceId(threadContext, checkedFields);
|
|
|
forwardedFor(threadContext, checkedFields);
|
|
|
assertMsg(logger, checkedFields.map());
|
|
|
|
|
@@ -1526,6 +1535,7 @@ public class LoggingAuditTrailTests extends ESTestCase {
|
|
|
restOrTransportOrigin(request, threadContext, checkedFields);
|
|
|
indicesRequest(request, checkedFields, checkedArrayFields);
|
|
|
opaqueId(threadContext, checkedFields);
|
|
|
+ traceId(threadContext, checkedFields);
|
|
|
forwardedFor(threadContext, checkedFields);
|
|
|
assertMsg(logger, checkedFields.map(), checkedArrayFields.map());
|
|
|
}
|
|
@@ -1570,6 +1580,7 @@ public class LoggingAuditTrailTests extends ESTestCase {
|
|
|
checkedFields.put(LoggingAuditTrail.URL_QUERY_FIELD_NAME, "_param=baz");
|
|
|
}
|
|
|
opaqueId(threadContext, checkedFields);
|
|
|
+ traceId(threadContext, checkedFields);
|
|
|
forwardedFor(threadContext, checkedFields);
|
|
|
assertMsg(logger, checkedFields.map());
|
|
|
}
|
|
@@ -1595,6 +1606,7 @@ public class LoggingAuditTrailTests extends ESTestCase {
|
|
|
restOrTransportOrigin(request, threadContext, checkedFields);
|
|
|
indicesRequest(request, checkedFields, checkedArrayFields);
|
|
|
opaqueId(threadContext, checkedFields);
|
|
|
+ traceId(threadContext, checkedFields);
|
|
|
forwardedFor(threadContext, checkedFields);
|
|
|
assertMsg(logger, checkedFields.map(), checkedArrayFields.map());
|
|
|
|
|
@@ -1615,6 +1627,7 @@ public class LoggingAuditTrailTests extends ESTestCase {
|
|
|
restOrTransportOrigin(request, threadContext, checkedFields);
|
|
|
indicesRequest(request, checkedFields, checkedArrayFields);
|
|
|
opaqueId(threadContext, checkedFields);
|
|
|
+ traceId(threadContext, checkedFields);
|
|
|
forwardedFor(threadContext, checkedFields);
|
|
|
assertMsg(logger, checkedFields.map(), checkedArrayFields.map());
|
|
|
|
|
@@ -1719,6 +1732,7 @@ public class LoggingAuditTrailTests extends ESTestCase {
|
|
|
restOrTransportOrigin(request, threadContext, checkedFields);
|
|
|
indicesRequest(request, checkedFields, checkedArrayFields);
|
|
|
opaqueId(threadContext, checkedFields);
|
|
|
+ traceId(threadContext, checkedFields);
|
|
|
forwardedFor(threadContext, checkedFields);
|
|
|
assertMsg(logger, checkedFields.map(), checkedArrayFields.map());
|
|
|
clearLog();
|
|
@@ -1746,6 +1760,7 @@ public class LoggingAuditTrailTests extends ESTestCase {
|
|
|
authentication(authentication, checkedFields);
|
|
|
restOrTransportOrigin(request, threadContext, checkedFields);
|
|
|
opaqueId(threadContext, checkedFields);
|
|
|
+ traceId(threadContext, checkedFields);
|
|
|
forwardedFor(threadContext, checkedFields);
|
|
|
if (index != null) {
|
|
|
checkedArrayFields.put(LoggingAuditTrail.INDICES_FIELD_NAME, new String[] { index });
|
|
@@ -1782,6 +1797,7 @@ public class LoggingAuditTrailTests extends ESTestCase {
|
|
|
restOrTransportOrigin(request, threadContext, checkedFields);
|
|
|
indicesRequest(request, checkedFields, checkedArrayFields);
|
|
|
opaqueId(threadContext, checkedFields);
|
|
|
+ traceId(threadContext, checkedFields);
|
|
|
forwardedFor(threadContext, checkedFields);
|
|
|
assertMsg(logger, checkedFields.map(), checkedArrayFields.map());
|
|
|
}
|
|
@@ -1806,6 +1822,7 @@ public class LoggingAuditTrailTests extends ESTestCase {
|
|
|
restOrTransportOrigin(request, threadContext, checkedFields);
|
|
|
indicesRequest(request, checkedFields, checkedArrayFields);
|
|
|
opaqueId(threadContext, checkedFields);
|
|
|
+ traceId(threadContext, checkedFields);
|
|
|
forwardedFor(threadContext, checkedFields);
|
|
|
assertMsg(logger, checkedFields.map(), checkedArrayFields.map());
|
|
|
|
|
@@ -1826,6 +1843,7 @@ public class LoggingAuditTrailTests extends ESTestCase {
|
|
|
restOrTransportOrigin(request, threadContext, checkedFields);
|
|
|
indicesRequest(request, checkedFields, checkedArrayFields);
|
|
|
opaqueId(threadContext, checkedFields);
|
|
|
+ traceId(threadContext, checkedFields);
|
|
|
forwardedFor(threadContext, checkedFields);
|
|
|
assertMsg(logger, checkedFields.map(), checkedArrayFields.map());
|
|
|
|
|
@@ -1863,6 +1881,7 @@ public class LoggingAuditTrailTests extends ESTestCase {
|
|
|
restOrTransportOrigin(request, threadContext, checkedFields);
|
|
|
indicesRequest(request, checkedFields, checkedArrayFields);
|
|
|
opaqueId(threadContext, checkedFields);
|
|
|
+ traceId(threadContext, checkedFields);
|
|
|
forwardedFor(threadContext, checkedFields);
|
|
|
assertMsg(logger, checkedFields.map(), checkedArrayFields.map());
|
|
|
|
|
@@ -1883,6 +1902,7 @@ public class LoggingAuditTrailTests extends ESTestCase {
|
|
|
restOrTransportOrigin(request, threadContext, checkedFields);
|
|
|
indicesRequest(request, checkedFields, checkedArrayFields);
|
|
|
opaqueId(threadContext, checkedFields);
|
|
|
+ traceId(threadContext, checkedFields);
|
|
|
forwardedFor(threadContext, checkedFields);
|
|
|
assertMsg(logger, checkedFields.map(), checkedArrayFields.map());
|
|
|
|
|
@@ -1922,6 +1942,7 @@ public class LoggingAuditTrailTests extends ESTestCase {
|
|
|
checkedFields.put(LoggingAuditTrail.URL_QUERY_FIELD_NAME, "_param=baz");
|
|
|
}
|
|
|
opaqueId(threadContext, checkedFields);
|
|
|
+ traceId(threadContext, checkedFields);
|
|
|
forwardedFor(threadContext, checkedFields);
|
|
|
assertMsg(logger, checkedFields.map());
|
|
|
|
|
@@ -1949,6 +1970,7 @@ public class LoggingAuditTrailTests extends ESTestCase {
|
|
|
restOrTransportOrigin(request, threadContext, checkedFields);
|
|
|
indicesRequest(request, checkedFields, checkedArrayFields);
|
|
|
opaqueId(threadContext, checkedFields);
|
|
|
+ traceId(threadContext, checkedFields);
|
|
|
forwardedFor(threadContext, checkedFields);
|
|
|
assertMsg(logger, checkedFields.map(), checkedArrayFields.map());
|
|
|
|
|
@@ -1978,6 +2000,7 @@ public class LoggingAuditTrailTests extends ESTestCase {
|
|
|
restOrTransportOrigin(request, threadContext, checkedFields);
|
|
|
indicesRequest(request, checkedFields, checkedArrayFields);
|
|
|
opaqueId(threadContext, checkedFields);
|
|
|
+ traceId(threadContext, checkedFields);
|
|
|
forwardedFor(threadContext, checkedFields);
|
|
|
assertMsg(logger, checkedFields.map(), checkedArrayFields.map());
|
|
|
|
|
@@ -1997,6 +2020,7 @@ public class LoggingAuditTrailTests extends ESTestCase {
|
|
|
restOrTransportOrigin(request, threadContext, checkedFields);
|
|
|
indicesRequest(request, checkedFields, checkedArrayFields);
|
|
|
opaqueId(threadContext, checkedFields);
|
|
|
+ traceId(threadContext, checkedFields);
|
|
|
forwardedFor(threadContext, checkedFields);
|
|
|
assertMsg(logger, checkedFields.map(), checkedArrayFields.map());
|
|
|
|
|
@@ -2028,6 +2052,7 @@ public class LoggingAuditTrailTests extends ESTestCase {
|
|
|
.put(LoggingAuditTrail.TRANSPORT_PROFILE_FIELD_NAME, profile)
|
|
|
.put(LoggingAuditTrail.RULE_FIELD_NAME, "deny _all");
|
|
|
opaqueId(threadContext, checkedFields);
|
|
|
+ traceId(threadContext, checkedFields);
|
|
|
forwardedFor(threadContext, checkedFields);
|
|
|
assertMsg(logger, checkedFields.map());
|
|
|
|
|
@@ -2066,6 +2091,7 @@ public class LoggingAuditTrailTests extends ESTestCase {
|
|
|
.put(LoggingAuditTrail.TRANSPORT_PROFILE_FIELD_NAME, profile)
|
|
|
.put(LoggingAuditTrail.RULE_FIELD_NAME, "allow default:accept_all");
|
|
|
opaqueId(threadContext, checkedFields);
|
|
|
+ traceId(threadContext, checkedFields);
|
|
|
forwardedFor(threadContext, checkedFields);
|
|
|
assertMsg(logger, checkedFields.map());
|
|
|
}
|
|
@@ -2097,6 +2123,7 @@ public class LoggingAuditTrailTests extends ESTestCase {
|
|
|
restOrTransportOrigin(request, threadContext, checkedFields);
|
|
|
indicesRequest(request, checkedFields, checkedArrayFields);
|
|
|
opaqueId(threadContext, checkedFields);
|
|
|
+ traceId(threadContext, checkedFields);
|
|
|
forwardedFor(threadContext, checkedFields);
|
|
|
assertMsg(logger, checkedFields.map(), checkedArrayFields.map());
|
|
|
|
|
@@ -2134,6 +2161,7 @@ public class LoggingAuditTrailTests extends ESTestCase {
|
|
|
restOrTransportOrigin(request, threadContext, checkedFields);
|
|
|
indicesRequest(request, checkedFields, checkedArrayFields);
|
|
|
opaqueId(threadContext, checkedFields);
|
|
|
+ traceId(threadContext, checkedFields);
|
|
|
forwardedFor(threadContext, checkedFields);
|
|
|
assertMsg(logger, checkedFields.map(), checkedArrayFields.map());
|
|
|
|
|
@@ -2185,6 +2213,7 @@ public class LoggingAuditTrailTests extends ESTestCase {
|
|
|
}
|
|
|
authentication(authentication, checkedFields);
|
|
|
opaqueId(threadContext, checkedFields);
|
|
|
+ traceId(threadContext, checkedFields);
|
|
|
forwardedFor(threadContext, checkedFields);
|
|
|
assertMsg(logger, checkedFields.map());
|
|
|
|
|
@@ -2210,6 +2239,7 @@ public class LoggingAuditTrailTests extends ESTestCase {
|
|
|
}
|
|
|
authentication(authentication, checkedFields);
|
|
|
opaqueId(threadContext, checkedFields);
|
|
|
+ traceId(threadContext, checkedFields);
|
|
|
forwardedFor(threadContext, checkedFields);
|
|
|
assertMsg(logger, checkedFields.map());
|
|
|
}
|
|
@@ -2238,6 +2268,7 @@ public class LoggingAuditTrailTests extends ESTestCase {
|
|
|
restOrTransportOrigin(request, threadContext, checkedFields);
|
|
|
indicesRequest(request, checkedFields, checkedArrayFields);
|
|
|
opaqueId(threadContext, checkedFields);
|
|
|
+ traceId(threadContext, checkedFields);
|
|
|
forwardedFor(threadContext, checkedFields);
|
|
|
assertMsg(logger, checkedFields.map(), checkedArrayFields.map());
|
|
|
|
|
@@ -2257,6 +2288,7 @@ public class LoggingAuditTrailTests extends ESTestCase {
|
|
|
restOrTransportOrigin(request, threadContext, checkedFields);
|
|
|
indicesRequest(request, checkedFields, checkedArrayFields);
|
|
|
opaqueId(threadContext, checkedFields);
|
|
|
+ traceId(threadContext, checkedFields);
|
|
|
forwardedFor(threadContext, checkedFields);
|
|
|
assertMsg(logger, checkedFields.map(), checkedArrayFields.map());
|
|
|
}
|
|
@@ -2664,16 +2696,31 @@ public class LoggingAuditTrailTests extends ESTestCase {
|
|
|
}
|
|
|
|
|
|
private static void opaqueId(ThreadContext threadContext, MapBuilder<String, String> checkedFields) {
|
|
|
- final String opaqueId = threadContext.getHeader(Task.X_OPAQUE_ID_HTTP_HEADER);
|
|
|
- if (opaqueId != null) {
|
|
|
- checkedFields.put(LoggingAuditTrail.OPAQUE_ID_FIELD_NAME, opaqueId);
|
|
|
- }
|
|
|
+ setFieldFromThreadContext(threadContext, checkedFields, Task.X_OPAQUE_ID_HTTP_HEADER, LoggingAuditTrail.OPAQUE_ID_FIELD_NAME);
|
|
|
+ }
|
|
|
+
|
|
|
+ private static void traceId(ThreadContext threadContext, MapBuilder<String, String> checkedFields) {
|
|
|
+ setFieldFromThreadContext(threadContext, checkedFields, Task.TRACE_ID, LoggingAuditTrail.TRACE_ID_FIELD_NAME);
|
|
|
}
|
|
|
|
|
|
private static void forwardedFor(ThreadContext threadContext, MapBuilder<String, String> checkedFields) {
|
|
|
- final String forwardedFor = threadContext.getHeader(AuditTrail.X_FORWARDED_FOR_HEADER);
|
|
|
- if (forwardedFor != null) {
|
|
|
- checkedFields.put(LoggingAuditTrail.X_FORWARDED_FOR_FIELD_NAME, forwardedFor);
|
|
|
+ setFieldFromThreadContext(
|
|
|
+ threadContext,
|
|
|
+ checkedFields,
|
|
|
+ AuditTrail.X_FORWARDED_FOR_HEADER,
|
|
|
+ LoggingAuditTrail.X_FORWARDED_FOR_FIELD_NAME
|
|
|
+ );
|
|
|
+ }
|
|
|
+
|
|
|
+ private static void setFieldFromThreadContext(
|
|
|
+ ThreadContext threadContext,
|
|
|
+ MapBuilder<String, String> checkedFields,
|
|
|
+ String threadContextFieldName,
|
|
|
+ String logFieldName
|
|
|
+ ) {
|
|
|
+ final String value = threadContext.getHeader(threadContextFieldName);
|
|
|
+ if (value != null) {
|
|
|
+ checkedFields.put(logFieldName, value);
|
|
|
}
|
|
|
}
|
|
|
|