From 79efcb5e91c9a7f89afbbfa7f80c4b47fa6ef9e4 Mon Sep 17 00:00:00 2001 From: Craig Williams Date: Wed, 21 Oct 2026 09:34:01 +0100 Subject: [PATCH] Avoid printing the whole JSON response if it is over 1024 characters in length (print the length instead). This was resulting in huge log files. In addition, log any failing unmarshalls of releases (at debug level) as well as the error (at warn level) --- internal/findatender/api.go | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/internal/findatender/api.go b/internal/findatender/api.go index e341033..a05bb23 100644 --- a/internal/findatender/api.go +++ b/internal/findatender/api.go @@ -274,6 +274,12 @@ func safeUnpackReleases( "release_id", releaseID, "error", err, ) + logger.Debug( + "raw unreadable release", + "ocid", ocid, + "release_id", releaseID, + "release_raw", rawRelease, + ) continue } out.Releases = append(out.Releases, release) @@ -347,12 +353,21 @@ func logTrace(logger *slog.Logger, res *resty.Response) { if logging.IsJSONHandler(logger.Handler()) { trace = res.Request.TraceInfo().JSON() } - logger.Debug( - "fetched", - "trace", trace, - "status", res.Status(), - "response", res.String(), - ) + if len(res.String()) <= 1024 { + logger.Debug( + "fetched", + "trace", trace, + "status", res.Status(), + "response", res.String(), + ) + } else { + logger.Debug( + "fetched", + "trace", trace, + "status", res.Status(), + "response_length", len(res.String()), + ) + } } // fetchURI performs a fetch against the API. If the API returns with a rate