微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决Logrus 记录器指向特定日志级别的指针

我使用的是 MQTT paho 库,它有自己的记录器接口,由 logrus 记录器实现,paho 库有多个级别:ERROR、CRITICAL 等。 我试图做这样的事情:

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

但是这不会记录,因为你不能有一个名为 level 的字段,如果你不添加 level,它总是进入 info 级别,因为 entry.Print 是在里面执行 log.Info 的实现,有没有办法将指针传递给具有相应日志级别的 logrus 记录器,而不对其进行新的包装。

我知道这可以通过新的包来完成,该包将实现 mqtt.Logger,其中包含内部具有 log.Error 调用函数。但我觉得应该有更好的方法来做到这一点。

解决方法

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

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

恐怕没有更好的办法了

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?