【问题标题】:Using io.Multiwriter to create logs across packages/subpackages使用 io.Multiwriter 跨包/子包创建日志
【发布时间】:2017-07-13 17:35:00
【问题描述】:

我是 Go 新手。目前,我正在编写一个工具,它将捕获所有标准输出输出,并将它们合并到一个新文件中。

为了做到这一点,我正在使用 io.Multiwriter。但是,我的问题在于尝试跨包和子包捕获所有标准输出输出。

目前,我的方法是创建一个新包,它具有所有日志记录的独占角色。每当其他包/子包之一有一些输出字符串时,我会将字符串发送到日志记录包,然后将多写入日志和标准输出。

这听起来合理吗?如果是这样,通用日志记录包 API 应该是什么样的?另外,将用于输出/日志记录的字符串传递到日志记录包的好方法是什么?

谢谢!

【问题讨论】:

    标签: logging go


    【解决方案1】:

    我想我最好使用已经可用的记录器包来满足您的目的。然后从所有包中调用记录器。

    您的需求(mutliwriter)是典型的需求。在这里进行图书馆搜索https://golanglibs.com/search?q=logger 选择适合您需要的图书馆。

    或者从这些包中学习并实现您自己的定制版本。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-24
      • 1970-01-01
      • 2020-04-24
      • 2020-03-14
      • 1970-01-01
      • 2018-06-03
      • 2012-03-16
      • 1970-01-01
      相关资源
      最近更新 更多