Главное правило: логируй ошибку один раз, на самом верху. Если функция возвращает error — не логируй, просто проброси с контекстом: fmt.Errorf("creating user: %w", err). Логируешь только в месте, где ошибку обрабатываешь финально (handler, main). Иначе одна ошибка генерирует 5 строк в логах. Используй structured logging (slog, zerolog): log.Error().Err(err).Str("user_id", id).Msg("failed to create user"). Включай request_id для трассировки. Error level — для ошибок требующих внимания, Warn — для ожидаемых ситуаций.
Как логировать ошибки правильно?
Middle
535 просмотровAFK Offer AI
Сложность поиска в map vs слайсе?