package logger import ( "go.uber.org/zap" "go.uber.org/zap/zapcore" ) var Log *zap.Logger var Sugar *zap.SugaredLogger func Init(level, encoding string) error { cfg := zap.NewProductionConfig() if encoding == "console" { cfg.Encoding = "console" cfg.EncoderConfig.EncodeTime = zapcore.ISO8601TimeEncoder } else { cfg.Encoding = "json" } if lvl, err := zapcore.ParseLevel(level); err == nil { cfg.Level = zap.NewAtomicLevelAt(lvl) } l, err := cfg.Build(zap.AddCaller(), zap.AddCallerSkip(1)) if err != nil { return err } Log = l Sugar = l.Sugar() return nil } func Sync() { _ = Log.Sync() }