Ответ
Для внедрения логгера в Go-приложение можно использовать стандартный log или популярные библиотеки типа zap, logrus.
Стандартный log:
import "log"
func main() {
log.Println("Info message")
log.Fatal("Fatal error") // вызовет os.Exit(1)
}
Zap (производительный):
import "go.uber.org/zap"
func main() {
logger, _ := zap.NewProduction()
defer logger.Sync() // flush buffer
logger.Info("Info message", zap.String("key", "value"))
}
Logrus (удобный API):
import "github.com/sirupsen/logrus"
func main() {
log := logrus.New()
log.SetFormatter(&logrus.JSONFormatter{})
log.Info("Info message")
}
Советы:
- Используйте интерфейсы (
Logger interface) для DI и тестирования. - Настройте уровень логирования (Debug, Info, Error).
- Для прода лучше
zapиз-за производительности.