首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Golang Logger多态?

Golang Logger多态?
EN

Stack Overflow用户
提问于 2016-04-10 04:22:56
回答 1查看 126关注 0票数 0

我们使用第三方库在其新函数中接受*log.Logger (stdlib Logger)作为参数,但是我们自己实现了Logger。它与stdlib Logger具有相同的“接口”。

除了要求库所有者将参数类型更改为接口之外,是否有任何方法将我们自己的Logger实现传递给第三个库?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-04-10 05:10:33

如果他们的包使用了一个实际的*log.Logger,那么除了将log.Logger的输出设置为一个定制的编写器之外,没有什么可以做的了,您可以在那里拦截他们的日志语句,然后重新记录他们的日志。

但这将是次令人敬畏的,因为基本上您将解析他们的所有日志语句,以便您可以重新日志。不确定log.Logger是否将日志消息写为一个要写的调用。如果是这样的话,就会很容易,因为您所做的只是重新记录每个调用的写入。

您可能还想考虑找到另一个库,或者分叉并更改该库,因为没有任何东西真正依赖于log.Logger。

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

https://stackoverflow.com/questions/36525757

复制
相关文章

相似问题

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