如何在golang中将消息记录到控制台和文件? [英] How to log messages to the console and a file both in golang?

查看:81
本文介绍了如何在golang中将消息记录到控制台和文件?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I can direct all messages to log.txt file:

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

但是我如何也可以在控制台中获取日志消息?

But how can I get log messages in console too?

推荐答案

使用 io.MultiWriter

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

MultiWriter creates a writer that duplicates its writes to all the provided writers, similar to the Unix tee(1) command

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

这篇关于如何在golang中将消息记录到控制台和文件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆