首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Zap全球记录器

Zap全球记录器
EN

Stack Overflow用户
提问于 2021-12-07 16:17:42
回答 1查看 479关注 0票数 -2

你好,我想使用zap全局记录器。

现在我正在像这样使用sugar_logger

代码语言:javascript
复制
        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")

当我像这样用

代码语言:javascript
复制
zap.L().Info("Start API",
            "protocol", "http",
            "host", config.Host,
        )

我得到一个错误“太多的论点”,我如何使用全局记录器,我做错了什么?

谢谢

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-12-07 17:21:20

https://pkg.go.dev/go.uber.org/zap#Logger采用string格式和zap.Field的列表。

代码语言:javascript
复制
zap.L().Info("Start API",
            zap.String("protocol","http"),
            zap.String("host",config.Host),
)

“太多的参数”,因为zap.Info接受一个字符串和一个不同的Field列表,但是您包含了太多的字符串而没有Fields。string不能是Fields,所以它们最终是额外的字符串参数,这不适合函数签名。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70263522

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档