你好我想使用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, )我收到一个错误“参数太多”我如何使用全局记录器,我做错了什么谢谢
1 回答
皈依舞
TA贡献1851条经验 获得超3个赞
https://pkg.go.dev/go.uber.org/zap#Logger采用格式string
和zap.Field
s 列表。
zap.L().Info("Start API", zap.String("protocol","http"), zap.String("host",config.Host),)
“参数太多”因为zap.Info
需要一个字符串和一个 s 的可变参数列表Field
,但是你包含了太多的字符串而没有Field
s。string
s 不能是s,因此Field
它们最终成为额外的字符串参数,并且不符合函数签名。
- 1 回答
- 0 关注
- 65 浏览
添加回答
举报
0/150
提交
取消