你好,我想使用zap全局记录器。
现在我正在像这样使用sugar_logger
log_sugar.Infow("Start API",
"protocol", "http",
"host", config.Host,
)响应是{"level":"info","ts":1638893668.7487385,"caller":"root/main.go:97","msg":"Start API.","host":"0.0.0.0:8080","protocol":"http","host":"0.0.0.0:8080"}
但我想用这样的zap.L().Info("replaced zap's global loggers")
当我像这样用
zap.L().Info("Start API",
"protocol", "http",
"host", config.Host,
)我得到一个错误“太多的论点”,我如何使用全局记录器,我做错了什么?
谢谢
发布于 2021-12-07 17:21:20
https://pkg.go.dev/go.uber.org/zap#Logger采用string格式和zap.Field的列表。
zap.L().Info("Start API",
zap.String("protocol","http"),
zap.String("host",config.Host),
)“太多的参数”,因为zap.Info接受一个字符串和一个不同的Field列表,但是您包含了太多的字符串而没有Fields。string不能是Fields,所以它们最终是额外的字符串参数,这不适合函数签名。
https://stackoverflow.com/questions/70263522
复制相似问题