mirror of
https://github.com/quay/quay.git
synced 2026-10-23 09:49:06 +03:00
docker/distribution logs "response completed with error" at ERROR for every response that carried an error code. For a mirror registry that includes the 404 every client receives when it probes for a blob before uploading it (HEAD /v2/<repo>/blobs/<digest>) and when cosign or oc-mirror looks up a ".sig" tag that does not exist. A single oc-mirror run of eleven images produced 183 ERROR lines with no actual failure, which buries real errors and trips any alerting on the ERROR level. The entry is emitted inside the library, so demote it in the logrus to slog bridge instead: when the message is the distribution error line and http.response.status is 404 the record is logged at INFO, other 4xx at WARN, and 5xx or entries without a usable status keep ERROR. Error responses get no separate access-log line, so 404 stays at INFO rather than DEBUG to keep the request and its status visible at the default level. Quay's Python endpoints return the same 404s as V2RegistryException responses without logging them at error level.