github.com/keysonzzz/kmg@v0.0.0-20151121023212-05317bfd7d39/kmgLog/fileLogger.go (about) 1 package kmgLog 2 3 import ( 4 "fmt" 5 "path/filepath" 6 7 "github.com/bronze1man/kmg/kmgFile" 8 ) 9 10 //new file log, will mkdir if dir not exist. 11 // usage: 12 // kmgLog.DefaultLogger = kmgLog.NewFileLogger("log") 13 func NewFileLogWriter(logDir string) LogWriter { 14 kmgFile.MustMkdirAll(logDir) 15 return func(r LogRow) { 16 b, err := r.Marshal() 17 if err != nil { 18 fmt.Println("[fileLoger] logToJson fail", err) 19 return 20 } 21 toWrite := append(b, byte('\n')) 22 err = kmgFile.AppendFile(filepath.Join(logDir, r.Cat+".log"), toWrite) 23 if err != nil { 24 fmt.Println("[fileLoger] logToJson fail", err) 25 return 26 } 27 } 28 }