我可以将所有消息定向到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)
但是我怎样才能在控制台中也获得日志(log)消息呢?
我可以将所有消息定向到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)
但是我怎样才能在控制台中也获得日志(log)消息呢?
MultiWriter创建一个编写器,该编写器将其写入复制到所有提供的编写器,类似于Unix tee(1)命令
logFile, err := os.OpenFile("log.txt", os.O_CREATE | os.O_APPEND | os.O_RDWR, 0666)
if err != nil {
panic(err)
}
mw := io.MultiWriter(os.Stdout, logFile)
log.SetOutput(mw)
唯一的变化是
mw := io.MultiWriter(os.Stdout, logFile)