Je reçois un mauvais descripteur de fichier lorsque j'essaie de l'ajouter à un fichier de consignation dans ma routine d'accès.Descripteur de fichier incorrect Golang
write ./log.log: bad file descriptor
Le fichier existe et a 666 pour les autorisations. Au début, je pensais que c'était peut-être parce que chacun essayait d'ouvrir le fichier en même temps. J'ai mis en place un mutex pour essayer d'éviter cela mais j'ai eu le même problème et je l'ai supprimé.
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
}
}
}()
Je confirme que je peux reproduire sur mon ordinateur. – HectorJ