GoWorkers如何将日志存储到文件中

时间:2015-08-12 14:45:59

标签: go

如何将来自GoWorkers(docs)的日志存储到文件中。我表明有一个WorkersLogger界面,但我不明白如何使用它。

目前我有这个:

func main() {
  workers.Configure(map[string]string)
  workers.Middleware.Append(&midRetry{})
  workers.Process("imp", worker.InitJob, 30)
  workers.Run()
}

type midRetry struct{}
func (r *midRetry) Call(queue string, message *workers.Msg, next func() bool) (acknowledge bool) {
  acknowledge = next()
  return
}

我正在考虑在midRetry结构中创建chan string,并在Call中发送消息,并在main中接收它们,然后将它们写入文件,但我觉得有更好的方法

1 个答案:

答案 0 :(得分:3)

WorkerLogger接口只是实现PrintlnPrintf方法的结构的接口。

您只需定义新的log.Logger,将os.File作为输出(see the constructor),并将全局变量workers.Logger设置为此新记录器。

示例:

file, _ := os.Create("log.txt")
workers.Logger = log.New(file, "[worker] ", log.LstdFlags)