我尝试使用>>
像往常一样使用Go项目写入文件,它不起作用。
./main >> info.log
或go run main.go >> info.log
我以root身份运行,并且我尝试将文件权限更改为755,但仍然在info.log中注意到。我也试过ls >> ls.log
它运作正常。
所以我觉得我的代码有问题。我使用的只有log.Println()
和log.Printf()
我的代码在Ubuntu 12.04.5 LTS上运行(GNU / Linux 3.13.0-32-generic x86_64)
答案 0 :(得分:7)
Go {'{3}}写给stderr。您应该在shell脚本中使用2>
和2>>
及其朋友,或者创建自己的写入stdout的记录器。
答案 1 :(得分:1)
我不认为您正在写入stdout,请尝试使用fmt
而不是日志。如果默认fmt.Println
和fmt.Printf
不起作用,则此处的包详细信息可以获取特定于stdout或stderr的io.Writer,这肯定会起作用。文档在这里standard logger