From e08d1c49751dccef9c69acd7a924e3095cb55153 Mon Sep 17 00:00:00 2001 From: afjcjsbx Date: Tue, 7 Apr 2026 17:50:29 +0200 Subject: [PATCH] fix(gateway): log startup errors before exit --- pkg/gateway/gateway.go | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/pkg/gateway/gateway.go b/pkg/gateway/gateway.go index 8be84bdf6..1585f33e2 100644 --- a/pkg/gateway/gateway.go +++ b/pkg/gateway/gateway.go @@ -111,7 +111,7 @@ func (p *startupBlockedProvider) GetDefaultModel() string { } // Run starts the gateway runtime using the configuration loaded from configPath. -func Run(debug bool, homePath, configPath string, allowEmptyStartup bool) error { +func Run(debug bool, homePath, configPath string, allowEmptyStartup bool) (runErr error) { panicPath := filepath.Join(homePath, logPath, panicFile) panicFunc, err := logger.InitPanic(panicPath) if err != nil { @@ -129,6 +129,17 @@ func Run(debug bool, homePath, configPath string, allowEmptyStartup bool) error } else { logger.SetLevelFromString(config.ResolveGatewayLogLevel(configPath)) } + defer func() { + if runErr != nil { + logger.ErrorCF("gateway", "Gateway startup failed", map[string]any{ + "config_path": configPath, + "error": runErr.Error(), + "home_path": homePath, + "allow_empty": allowEmptyStartup, + "debug": debug, + }) + } + }() cfg, err := config.LoadConfig(configPath) if err != nil {