我有一个应该是非常简单的记录器功能,但是在创建日志文件时,没有写入任何内容。我尝试了几种不同的方法,但它仍然失败。函数是
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)
}
最佳答案
您没有在文件中获取任何内容,因为您没有使用 os.WRONLY
或 os.RDWR
打开它。默认。 os.OpenFile
返回一个只有读权限的缓冲区。您可能希望使用 defer
关闭文件,以防代码因 defer file.Close()
出现困惑。
关于go - Golang 中的记录器功能失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51457902/