我现在已经花了很多时间搜索和阅读关于这个主题的帖子,但还没有注意到我的问题得到了完全的回答-或者我只是需要更多关于现有答案的澄清.
我已经读了this篇和我的标题相同的帖子,但它是关于跨围棋程序而不是包的登录.
我想要解决的是跨主应用程序和它使用的任何包进行日志(log)记录.我需要一个可以记录到多个位置的记录器(这可以用io.MultiWriter来完成),并且可以做像log.Error()和log.Debug()这样的事情.
我知道有一些包可以做到这一点,我自己也知道如何实现这些东西.
我想不通的是如何正确使用它来处理我的Package.
当然,一种方法是在Main中创建记录器,然后将其传递给所有需要记录的函数.但这看起来很尴尬.
我的理想解决方案是拥有一个类似于日志(log)包中内置的全局记录器的记录器,但具有如上所述的附加功能.
我主要希望在包中进行可选的调试日志(log)记录,这样如果需要,我可以在生产版本中打开它.
正确的方法是什么?