1.Zap sugar输出
package mainimport ("go.uber.org/zap" "time"
)func main() {logger, _ := zap.NewProduction() defer logger.Sync() url := "https://imooc.com" sugar := logger.Sugar() sugar.Infow("failed to fetch URL","url", url, "attempt", 3, "backoff", time.Second, )sugar.Infof("Failed to fetch URL: %s", url)
}
2. Zap 文件输出
package mainimport ("go.uber.org/zap" "time"
)
func NewLogger() (*zap.Logger, error) {cfg := zap.NewProductionConfig()cfg.OutputPaths = []string{"./myproject.log", "stderr", "stdout", }return cfg.Build()
}func main() {logger, err := NewLogger()if err != nil {panic(err) }su := logger.Sugar() defer su.Sync() url := "https://imooc.com" su.Info("failed to fetch URL",zap.String("url", url), zap.Int("attempt", 3), zap.Duration("backoff", time.Second), )
}