简介
Zap是由Uber公司开发的一款Go 中快速、结构化、分级的日志记录包。它的性能超乎你的想象。
如何使用
import (
"go.uber.org/zap"
"go.uber.org/zap/zapcore"
)
// zap配置
encoderConfig := zapcore.EncoderConfig{
TimeKey: "time", // 时间戳字段
LevelKey: "level", // 日志等级字段
NameKey: "logger", // 名称字段
CallerKey: "linenum", // 调用行Key
MessageKey: "msg", // 消息体Key
StacktraceKey: "stacktrace", // 堆栈信息Key
LineEnding: zapcore.DefaultLineEnding,
EncodeLevel: zapcore.LowercaseLevelEncoder, // 小写编码器
EncodeTime: zapcore.ISO8601TimeEncoder, // ISO8601 UTC 时间格式
EncodeDuration: zapcore.SecondsDurationEncoder, //
EncodeCaller: zapcore.FullCallerEncoder, // 全路径编码s器
EncodeName: zapcore.FullNameEncoder,
}
// 设置输出
writeSyncer := zapcore.NewMultiWriteSyncer(zapcore.AddSync(os.Stdout))
// 核心配置
core := zapcore.NewCore(
zapcore.NewJSONEncoder(encoderConfig), // 编码器配置
writeSyncer,
)
// 初始化日志实体
log = zap.New(zapcore.NewTee(coreArr...), caller, filed)