我是Go的新手。目前,我正在编写一个工具来捕获所有stdout输出,并将它们合并到一个新文件中。
为了做到这一点,我正在使用io.Multiwriter。但是,我的问题在于尝试跨包和子包捕获所有stdout输出。
目前,我的方法是创建一个新的包,它具有所有日志记录的独占作用。每当其中一个包/子包有一些输出字符串时,我会将字符串发送到日志包,然后将多重写入日志和stdout。
听起来合理吗?如果是这样,通用日志包API应该是什么样的?另外,将输出/日志记录的字符串传递给日志记录包的好方法是什么?
谢谢!
答案 0 :(得分:0)
我认为我会很好地使用已有的记录器软件包。然后从所有包中调用记录器。
您的要求(mutliwriter)是典型的要求。在这里进行图书馆搜索https://golanglibs.com/search?q=logger选择适合您需要的图书馆。
或者从这些软件包中学习并实现您自己的定制版本。