From 7c6dc9dda88d3ac7549a29865f71adea6de781e1 Mon Sep 17 00:00:00 2001 From: Dave King Date: Wed, 25 Mar 2026 12:19:17 +0000 Subject: [PATCH] fix: add account and proxy details to gateway.forward_failed log The forward_failed error log only included account_id, making it difficult to identify which account and proxy caused the failure without querying the database. Add account_name, account_platform, and proxy details (id, name, host, port) to the log fields. Co-Authored-By: Claude Opus 4.6 (1M context) --- backend/internal/handler/gateway_handler.go | 34 ++++++++++++++++++--- 1 file changed, 30 insertions(+), 4 deletions(-) diff --git a/backend/internal/handler/gateway_handler.go b/backend/internal/handler/gateway_handler.go index b9285c04..a0d8b2e9 100644 --- a/backend/internal/handler/gateway_handler.go +++ b/backend/internal/handler/gateway_handler.go @@ -422,11 +422,24 @@ func (h *GatewayHandler) Messages(c *gin.Context) { } } wroteFallback := h.ensureForwardErrorResponse(c, streamStarted) - reqLog.Error("gateway.forward_failed", + forwardFailedFields := []zap.Field{ zap.Int64("account_id", account.ID), + zap.String("account_name", account.Name), + zap.String("account_platform", account.Platform), zap.Bool("fallback_error_response_written", wroteFallback), zap.Error(err), - ) + } + if account.Proxy != nil { + forwardFailedFields = append(forwardFailedFields, + zap.Int64("proxy_id", account.Proxy.ID), + zap.String("proxy_name", account.Proxy.Name), + zap.String("proxy_host", account.Proxy.Host), + zap.Int("proxy_port", account.Proxy.Port), + ) + } else if account.ProxyID != nil { + forwardFailedFields = append(forwardFailedFields, zap.Int64p("proxy_id", account.ProxyID)) + } + reqLog.Error("gateway.forward_failed", forwardFailedFields...) return } @@ -741,11 +754,24 @@ func (h *GatewayHandler) Messages(c *gin.Context) { } } wroteFallback := h.ensureForwardErrorResponse(c, streamStarted) - reqLog.Error("gateway.forward_failed", + forwardFailedFields := []zap.Field{ zap.Int64("account_id", account.ID), + zap.String("account_name", account.Name), + zap.String("account_platform", account.Platform), zap.Bool("fallback_error_response_written", wroteFallback), zap.Error(err), - ) + } + if account.Proxy != nil { + forwardFailedFields = append(forwardFailedFields, + zap.Int64("proxy_id", account.Proxy.ID), + zap.String("proxy_name", account.Proxy.Name), + zap.String("proxy_host", account.Proxy.Host), + zap.Int("proxy_port", account.Proxy.Port), + ) + } else if account.ProxyID != nil { + forwardFailedFields = append(forwardFailedFields, zap.Int64p("proxy_id", account.ProxyID)) + } + reqLog.Error("gateway.forward_failed", forwardFailedFields...) return }