Tôi đang nhận được một bộ mô tả tập tin xấu khi cố gắng để nối thêm vào một tập tin đăng nhập trong thói quen đi của tôi.Golang mô tả tập tin xấu
write ./log.log: bad file descriptor
Các tập tin tồn tại và có 666 cho phép. Lúc đầu, tôi nghĩ tốt có lẽ là bởi vì mỗi người trong số họ đang cố gắng để mở tập tin cùng một lúc. Tôi đã thực hiện một mutex để thử và tránh điều đó nhưng có cùng một vấn đề nên tôi đã xóa nó.
logCh := make(chan string, 150)
go func() {
for {
msg, ok := <-logCh
if ok {
if f, err := os.OpenFile("./log.log", os.O_APPEND, os.ModeAppend); err != nil {
panic(err)
} else {
logTime := time.Now().Format(time.RFC3339)
if _, err := f.WriteString(logTime + " - " + msg); err != nil {
fmt.Print(err)
}
f.Close()
}
} else {
fmt.Print("Channel closed! \n")
break
}
}
}()
Tôi xác nhận tôi có thể tái tạo trên máy tính của mình. – HectorJ