Ответ
Для логирования в Go обычно использую:
- Стандартный log - для простых случаев:
import "log"
log.Println("Simple log message")
- Zerolog - для структурированного логирования (JSON):
import "github.com/rs/zerolog/log"
log.Info().Str("key", "value").Msg("Structured log")
- Zap от Uber - когда нужна высокая производительность:
import "go.uber.org/zap"
logger, _ := zap.NewProduction()
logger.Info("Fast logging", zap.String("key", "value"))
Дополнительно:
- Lumberjack для ротации логов
- Sentry для мониторинга ошибок
- ELK/Grafana Loki для агрегации и анализа логов
Выбор зависит от требований проекта: стандартный log для простых задач, Zerolog/Zap для production.