В defer recover() сохраняй: значение panic (recover()), стектрейс (debug.Stack()), request метаданные (URL, user ID). Логируй структурированно через slog или zap: logger.Error("panic recovered", "error", r, "stack", string(debug.Stack())). Отправляй в мониторинг (Sentry, Datadog). Не глуши panic молча — это баг, который нужно починить. Recovery — это чтобы сервер не упал, а не чтобы скрыть проблему.
Как логировать panic в production?
Middle
170 просмотровAFK Offer AI
Что выведет: var p *int; var i interface{} = p; fmt.Println(p == nil, i == nil)?