简介


Zap是由Uber公司开发的一款Go 中快速、结构化、分级的日志记录包。它的性能超乎你的想象。

如何使用


  1. import (
  2. "go.uber.org/zap"
  3. "go.uber.org/zap/zapcore"
  4. )
  1. // zap配置
  2. encoderConfig := zapcore.EncoderConfig{
  3. TimeKey: "time", // 时间戳字段
  4. LevelKey: "level", // 日志等级字段
  5. NameKey: "logger", // 名称字段
  6. CallerKey: "linenum", // 调用行Key
  7. MessageKey: "msg", // 消息体Key
  8. StacktraceKey: "stacktrace", // 堆栈信息Key
  9. LineEnding: zapcore.DefaultLineEnding,
  10. EncodeLevel: zapcore.LowercaseLevelEncoder, // 小写编码器
  11. EncodeTime: zapcore.ISO8601TimeEncoder, // ISO8601 UTC 时间格式
  12. EncodeDuration: zapcore.SecondsDurationEncoder, //
  13. EncodeCaller: zapcore.FullCallerEncoder, // 全路径编码s器
  14. EncodeName: zapcore.FullNameEncoder,
  15. }
  16. // 设置输出
  17. writeSyncer := zapcore.NewMultiWriteSyncer(zapcore.AddSync(os.Stdout))
  18. // 核心配置
  19. core := zapcore.NewCore(
  20. zapcore.NewJSONEncoder(encoderConfig), // 编码器配置
  21. writeSyncer,
  22. )
  23. // 初始化日志实体
  24. log = zap.New(zapcore.NewTee(coreArr...), caller, filed)

常用方法


高级用法