如何在golang中将消息记录到控制台和文件?

时间:2016-04-19 13:13:04

标签: go

我可以将所有邮件定向到log.txt文件:

logFile, err := os.OpenFile("log.txt", os.O_CREATE | os.O_APPEND | os.O_RDWR, 0666)
if err != nil {
    panic(err)
}
log.SetOutput(logFile)

但是我怎样才能在控制台中获取日志消息呢?

1 个答案:

答案 0 :(得分:40)

使用io.MultiWriter

  

MultiWriter创建一个写入器,复制其对所有提供的写入器的写入,类似于Unix tee(1)命令

mw := io.MultiWriter(os.Stdout, logFile)
log.SetOutput(mw)