Gitme yordamımdaki bir günlük dosyasına eklemeye çalışırken kötü bir dosya tanıtıcısı alıyorum.Golang bozuk dosya tanıtıcı
write ./log.log: bad file descriptor
dosya var ve izinleri 666 sahiptir. İlk başta iyi düşündüm belki de her biri aynı anda dosyayı açmaya çalışıyor. Bunu denemek ve önlemek için bir muteks uyguladım ama aynı sorunu aldım, böylece onu çıkardım.
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
}
}
}()
Bilgisayarımda çoğaltabildiğimi doğrularım. – HectorJ