package main import ( "encoding/csv" "log" "os" ) type ( SpiderLog struct { F *os.File LogFile *csv.Writer } ) var ( sl *SpiderLog ) // NewSpiderLog func NewSpiderLog(sf string) (*SpiderLog, error) { fo, err := os.Create(sf) if err != nil { return nil, err } return &SpiderLog{ fo, csv.NewWriter(fo), }, nil } // Close func (sl *SpiderLog) Close() { sl.LogFile.Flush() sl.F.Close() } // Log func (sl *SpiderLog) Log(arg ...string) { err := sl.LogFile.Write(arg) if err != nil { log.Println(err) } }