标签: shell go
在shell中,我使用go run file > output,但只有fmt.Print被保存到输出中。所有log.Print仍然输出到屏幕!我在互联网上搜索后,发现我可以设置日志的输出目录,但是如何在同一个文件中保存日志和文件?
go run file > output
答案 0 :(得分:6)
当fmt.PrintXXX函数写入STDOUT时,记录器写入STDERR。
您有两种选择:
1)将STDERR捕获到文件中 像shell一样使用Bash:
go run file > output 2>&1
2)将记录器的Output设置为os.Stdout
然后你像普通go run file > output一样运行,记录器和fmt都转到同一个地方。
log.SetOutput(os.StdOut)