package logger import ( "log" "go.uber.org/zap" ) var Log *zap.Logger var Sugar *zap.SugaredLogger var Std *log.Logger func Init(env string) error { opt := zap.AddStacktrace(zap.ErrorLevel) // error 日志打印堆栈信息 var err error if env == "prod" { Log, err = zap.NewProduction(opt) } else { Log, err = zap.NewDevelopment(opt) } if err == nil { Sugar = Log.Sugar() } zap.ReplaceGlobals(Log) // 全局logger,zap.L() 和 zap.S() 需要调用 ReplaceGlobals 函数才会记录日志信息 // 之后可以使用zap.L()代替Log,zap.S()代替Sugar Std = zap.NewStdLog(Log) // 标准输入自动转换为 zap.logger日志 return err }