Как логировать ошибки правильно?

Middle
535 просмотров
AFK Offer AI

Главное правило: логируй ошибку один раз, на самом верху. Если функция возвращает 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 — для ожидаемых ситуаций.

Следующий вопрос

Сложность поиска в map vs слайсе?