> Как долго хранятся логи (Go)

Уровень: middle · Роль: backend · Категория: Технические вопросы

Компании: Wildberries

Стек: Go

> Пример ответа

В Go-проектах срок хранения логов зависит от их типа и инфраструктуры. Обычно придерживаются следующих практик:

  • Логи приложения (stdout/stderr): в контейнерных средах (Docker, Kubernetes) они часто не хранятся локально, а собираются через Fluentd или Loki. Рекомендуемый срок - 7–30 дней для отладки, до 90 дней для аудита.

  • Файловые логи: если пишете в файлы (например, через logrus или zap), настраивают ротацию с помощью lumberjack - типично хранить 7–14 дней или до 100–500 МБ на файл.

  • Аудит и безопасность: такие логи (например, запросы к API) хранят от 1 года до 3 лет в соответствии с политиками компании или требованиями регуляторов (GDPR, PCI DSS).

  • Ошибки и паники: в production их отправляют в Sentry или аналоги, где срок хранения настраивается отдельно (обычно 30–90 дней).

В коде это реализуется через конфигурацию: logRotateMaxAge в днях и logRotateMaxBackups. Пример с lumberjack:

GO
log.SetOutput(&lumberjack.Logger{
Filename: "/var/log/app.log",
MaxSize: 100, // мегабайт
MaxAge: 14, // дней
MaxBackups: 5,
})

Конкретные цифры всегда согласуйте с командой и требованиями к хранению данных.

> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?

Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью