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  }