logger.go 669 B

123456789101112131415161718192021222324252627282930313233
  1. package logger
  2. import (
  3. "log"
  4. "go.uber.org/zap"
  5. )
  6. var Log *zap.Logger
  7. var Sugar *zap.SugaredLogger
  8. var Std *log.Logger
  9. func Init(env string) error {
  10. opt := zap.AddStacktrace(zap.ErrorLevel) // error 日志打印堆栈信息
  11. var err error
  12. if env == "prod" {
  13. Log, err = zap.NewProduction(opt)
  14. } else {
  15. Log, err = zap.NewDevelopment(opt)
  16. }
  17. if err == nil {
  18. Sugar = Log.Sugar()
  19. }
  20. zap.ReplaceGlobals(Log) // 全局logger,zap.L() 和 zap.S() 需要调用 ReplaceGlobals 函数才会记录日志信息
  21. // 之后可以使用zap.L()代替Log,zap.S()代替Sugar
  22. Std = zap.NewStdLog(Log) // 标准输入自动转换为 zap.logger日志
  23. return err
  24. }