登录
首页 >  Golang >  Go问答

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

来源:Golang技术栈

时间:2023-04-17 08:14:14 195浏览 收藏

本篇文章向大家介绍《如何在golang中将消息记录到控制台和文件?》,主要包括golang,具有一定的参考价值,需要的朋友可以参考一下。

问题内容

我可以将所有消息定向到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)

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

正确答案

使用io.MultiWriter

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)

本篇关于《如何在golang中将消息记录到控制台和文件?》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于Golang的相关知识,请关注golang学习网公众号!

声明:本文转载于:Golang技术栈 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>