tux*_*21b 52

  • 创建一个log.Logger并传递它?

这是可能的.甲log.Logger可以同时从多个够程中使用.

  • 传递指向该log.Logger的指针?
*Logger
  • 每个goroutine或函数应该创建一个记录器吗?

我不会为每个函数或goroutine创建一个单独的记录器.Goroutines(和函数)用于非常轻量级的任务,不能证明维护单独的记录器是合理的.为项目的每个更大的组件创建一个记录器可能是个好主意.例如,如果您的项目使用SMTP服务发送邮件,则为邮件服务创建单独的记录器听起来是个好主意,以便您可以单独过滤和关闭输出.

  • 我应该将记录器创建为全局变量吗?

这取决于你的包裹.在上一个邮件服务示例中,为每个服务实例配置一个记录器可能是个好主意,这样用户可以在使用gmail邮件服务时记录失败,而不是使用本地MTA时发生的故障(例如sendmail) ).