Golang 中如何禁用第三方库的 logger

2018-05-20 20:19:24 +08:00
 Morriaty
使用的第三方库中有打印日志,但我并不关心这个错误,该怎么忽律它呢,类似于 python 中的 disable_existing_loggers
2279 次点击
所在节点    Go 编程语言
12 条回复
aliipay
2018-05-20 20:27:35 +08:00
打到自己的日志系统里面
eslizn
2018-05-20 20:27:49 +08:00
首先确认这个库是否有日志关闭开关
如果实在没有,那么 fork 这个库,自己改下,然后引用你自己改的
janxin
2018-05-20 21:52:25 +08:00
一般规范的库都是有自定义 logger 的功能的。

某些没什么概念的初级开发者很多时候会用 log 库,这个可以通过 https://golang.org/pkg/log/#SetOutput 设置

某些一点概念都不懂的,只能自己手工改了
GTim
2018-05-21 07:04:28 +08:00
贴出这个第三方库,就知道怎么帮你了
Morriaty
2018-05-21 10:28:48 +08:00
@janxin @GTim thirft-go,用的就是标准库的 log,现在就是 log.SetOutput(ioutil.Discard),然后再实现自己的 app_logger 了
janxin
2018-05-21 10:48:12 +08:00
@Morriaty 如果是 apache 的,看了一下就没几个 log,还都是错误提示,无所谓的吧
Morriaty
2018-05-21 11:24:57 +08:00
@janxin 因为服务前面还有个阿里云负载,会不停的做心跳检查,但它只做三次握手,然后发送 RST 包主动关闭连接,所以我后台服务会疯狂报 connection reset by peer
Morriaty
2018-05-21 11:27:08 +08:00
@janxin 其实更合理的是,我得写个正则什么的过滤这种 log,但不知道应该放在哪里好,如果直接在源码里改,编译环境一换有可能忘记
janxin
2018-05-21 12:10:24 +08:00
@Morriaty 你实现一个 io.Writer 即可...
salamanderMH
2018-05-21 14:39:55 +08:00
不能关掉日志输出??
KickAssTonight
2018-05-21 15:15:10 +08:00
看代码,看你用的这个包支不支持让你关掉日志
houchen
2018-05-21 19:37:43 +08:00
这种事情在 golang 里一般不允许出现。说明你的第三方库写的太恶心人了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/456341

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX