登录
首页 >  Golang >  Go问答

Logrus 记录器指定指向特定日志级别的指针

来源:stackoverflow

时间:2024-03-24 17:27:45 325浏览 收藏

使用 Logrus 记录器时,如何指定指向特定日志级别的指针?本文探讨了使用 Logrus 记录器和 MQTT paho 库时遇到的问题,该库有多个日志级别。作者尝试通过添加“level”字段来解决问题,但发现这样做不会记录。作者认为应该有更好的方法来实现这一点,而无需创建新的包装器。

问题内容

我正在使用 mqtt paho 库,它有自己的记录器接口,由 logrus 记录器实现,paho 库有多个级别:error、critical 等。 我尝试做这样的事情:

MQTT.ERROR = app.Log.WithField("level","ERROR")
    MQTT.CRITICAL = app.Log.WithField("level","CRITICAL")

但这不会记录,因为你不能有一个名为 level 的字段,如果你不添加 level,它总是会转到 info level,因为entry.print 是在内部执行 log.info 的实现,有没有办法将指针传递给具有相应日志级别的 logrus 记录器,而不在其周围创建新的包装器。

我知道可以使用新的包来完成,该包将实现 mqtt.logger 以及内部包含 log.error 调用的函数。但我觉得应该有更好的方法来做到这一点。


正确答案


它不必位于新包中,您只需定义一个结构体并使其在同一包中实现 mqtt.Logger 即可。

恐怕没有更好的办法了

文中关于的知识介绍,希望对你的学习有所帮助!若是受益匪浅,那就动动鼠标收藏这篇《Logrus 记录器指定指向特定日志级别的指针》文章吧,也可关注golang学习网公众号了解相关技术文章。

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>