1
0
mirror of https://github.com/google/nomulus synced 2026-01-04 04:04:22 +00:00

Record http request parameters in log metadata (#2642)

This allows us to search for logs for a given path using a filter like
this:

jsonPayload.httpRequest.requestUrl="/_dr/blah"

TESTED=tested on crash
This commit is contained in:
Lai Jiang
2025-01-16 12:27:53 -05:00
committed by GitHub
parent 9f22f2e8ae
commit bf025445d5
4 changed files with 64 additions and 11 deletions

View File

@@ -14,7 +14,9 @@
package google.registry.module;
import static google.registry.util.GcpJsonFormatter.setCurrentRequest;
import static google.registry.util.GcpJsonFormatter.setCurrentTraceId;
import static google.registry.util.GcpJsonFormatter.unsetCurrentRequest;
import static google.registry.util.RandomStringGenerator.insecureRandomStringGenerator;
import static google.registry.util.StringGenerator.Alphabets.HEX_DIGITS_ONLY;
@@ -67,10 +69,16 @@ public class RegistryServlet extends ServletBase {
@Override
public void service(HttpServletRequest req, HttpServletResponse rsp) throws IOException {
setCurrentTraceId(traceId());
String requestMethod = req.getMethod();
String requestUrl = req.getRequestURI();
String userAgent = String.valueOf(req.getHeader("User-Agent"));
String protocol = req.getProtocol();
setCurrentRequest(requestMethod, requestUrl, userAgent, protocol);
try {
super.service(req, rsp);
} finally {
setCurrentTraceId(null);
unsetCurrentRequest();
}
}

View File

@@ -43,7 +43,8 @@ import org.postgresql.util.PSQLException;
final class RegistryCli implements CommandRunner {
private static final ImmutableSet<RegistryToolEnvironment> DEFAULT_GKE_ENVIRONMENTS =
ImmutableSet.of(RegistryToolEnvironment.ALPHA, RegistryToolEnvironment.QA);
ImmutableSet.of(
RegistryToolEnvironment.ALPHA, RegistryToolEnvironment.CRASH, RegistryToolEnvironment.QA);
// The environment parameter is parsed twice: once here, and once with {@link
// RegistryToolEnvironment#parseFromArgs} in the {@link RegistryTool#main} function.