আমি গো দিয়ে একটি লগ ফাইল লিখতে চেষ্টা করছি।
আমি বেশ কয়েকটি পদ্ধতির চেষ্টা করেছি, যার সবকটিতেই ব্যর্থ হয়েছে। এটি আমি চেষ্টা করেছি:
func TestLogging(t *testing.T) {
if !FileExists("logfile") {
CreateFile("logfile")
}
f, err := os.Open("logfile")
if err != nil {
t.Fatalf("error: %v", err)
}
// attempt #1
log.SetOutput(io.MultiWriter(os.Stderr, f))
log.Println("hello, logfile")
// attempt #2
log.SetOutput(io.Writer(f))
log.Println("hello, logfile")
// attempt #3
log.SetOutput(f)
log.Println("hello, logfile")
}
func FileExists(name string) bool {
if _, err := os.Stat(name); err != nil {
if os.IsNotExist(err) {
return false
}
}
return true
}
func CreateFile(name string) error {
fo, err := os.Create(name)
if err != nil {
return err
}
defer func() {
fo.Close()
}()
return nil
}
লগ ফাইলটি তৈরি হয়ে যায়, তবে কোনও কিছুই মুদ্রিত হয় না বা এতে যুক্ত হয় না। কেন?