github.com/Cloud-Foundations/Dominator@v0.3.4/lib/log/filelogger/impl.go (about) 1 package filelogger 2 3 import ( 4 "bufio" 5 "log" 6 "os" 7 8 "github.com/Cloud-Foundations/Dominator/lib/log/debuglogger" 9 ) 10 11 func newLogger(filename string, options Options) (*Logger, error) { 12 file, err := os.Create(filename) 13 if err != nil { 14 return nil, err 15 } 16 writer := bufio.NewWriter(file) 17 return &Logger{ 18 Logger: debuglogger.New(log.New(writer, "", options.Flags)), 19 file: file, 20 writer: writer, 21 }, nil 22 } 23 24 func (l *Logger) close() error { 25 flushError := l.Flush() 26 if err := l.file.Close(); err != nil { 27 return err 28 } 29 return flushError 30 }