【发布时间】:2016-08-08 22:39:49
【问题描述】:
我在我的一个工具中使用第三方库,该工具使用来自 golang 的标准日志记录。图书馆是https://github.com/jason0x43/go-toggl
现在我编写了一个命令行实用程序来检测 toggl,但我不想在其中写入日志记录。我找到了Go: Disable a log.Logger?,但这涉及在自己的代码中禁用。如何禁用登录库?
【问题讨论】:
标签: go
我在我的一个工具中使用第三方库,该工具使用来自 golang 的标准日志记录。图书馆是https://github.com/jason0x43/go-toggl
现在我编写了一个命令行实用程序来检测 toggl,但我不想在其中写入日志记录。我找到了Go: Disable a log.Logger?,但这涉及在自己的代码中禁用。如何禁用登录库?
【问题讨论】:
标签: go
那个包定义了它自己的记录器,不导出它,也没有提供修改输出的钩子。如果不修改包代码,您将无法更改日志目标。
在这种情况下的另一个选择是,由于记录器写入os.Stderr,您可以将os.Stderr 重新定义为您自己的io.Writer 以拦截和过滤那里的日志输出。这可能就像缓冲所有 stderr 输出一样简单,并且仅在出现错误时将其打印出来。
【讨论】: