> Как долго хранятся логи (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:
GOlog.SetOutput(&lumberjack.Logger{Filename: "/var/log/app.log",MaxSize: 100, // мегабайтMaxAge: 14, // днейMaxBackups: 5,})
Конкретные цифры всегда согласуйте с командой и требованиями к хранению данных.
> Похожие задачи по backend
Используете ли трейсинг, например Jaeger
Используете ли алертинг через Grafana
Работал ли с systemd
Писал ли юнит-тесты для bash-скриптов
> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?
Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью