为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 Golang 中将 fmt.Print 和 log.Print 保存到同一个文件中

如何在 Golang 中将 fmt.Print 和 log.Print 保存到同一个文件中

Go
holdtom 2021-11-29 16:20:50
在 shell 中,我使用go run file > output,但只有 fmt.Print 保存到输出中。所有的log.Print仍然输出到屏幕!在网上查了一下,发现可以设置log的输出目录,但是如何将log和fmt保存在同一个文件中呢?
查看完整描述

1 回答

?
狐的传说

TA贡献1804条经验 获得超3个赞

记录器写入 STDERR,而 fmt.PrintXXX 函数写入 STDOUT。

你有两个选择:

1) 将 STDERR 捕获到文件中。
像 shell 一样的 Bash 使用:

go run file > output 2>&1

2) 将记录器的输出设置为os.Stdout

然后你像往常一样运行go run file > output,记录器和 fmt 都去同一个地方。

log.SetOutput(os.StdOut)


查看完整回答
反对 回复 2021-11-29
  • 1 回答
  • 0 关注
  • 372 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信