मैं गो के साथ एक लॉग फ़ाइल में लिखने की कोशिश कर रहा हूं।
मैंने कई दृष्टिकोणों की कोशिश की है, जिनमें से सभी विफल रहे हैं। यही मैंने कोशिश की है:
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
}
लॉग फ़ाइल बन जाती है, लेकिन कुछ भी कभी भी मुद्रित या संलग्न नहीं होता है। क्यों?