我有一个应该非常简单的记录器功能,但是在创建日志文件时,没有任何写入。我尝试了几种不同的方法,但是仍然失败。功能是
func logger(logname string, message string) {
logName := "../planner/log/" + logname + ".log"
var file *os.File
file, err := os.OpenFile(logName, os.O_APPEND|os.O_CREATE, 0755)
if err != nil {
fmt.Println("File", logName, "failed with error:", err)
}
//file.WriteString(message)
fmt.Fprintf(file, message)
fmt.Println("Wrote", message, "to", logName)
file.Sync()
file.Close()
test, err := os.Stat(logName)
size := test.Size()
fmt.Println("File size is", size)
}
答案 0 :(得分:0)
由于没有使用os.WRONLY
或os.RDWR
打开文件,因此文件中没有任何内容。默认情况下。 os.OpenFile
返回仅具有读取权限的缓冲区。您可能想用defer
关闭文件,以防代码因defer file.Close()
崩溃。