我试图写一个日志文件与Golang。

我试过几种方法,所有的都失败了。这是我试过的:

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
}

日志文件被创建,但没有任何东西被打印或附加到它。为什么?