23 lines
418 B
Go
23 lines
418 B
Go
package logger
|
|
|
|
import (
|
|
"bytes"
|
|
"io"
|
|
)
|
|
|
|
// writer combines a buffer and a writer,
|
|
// adding a flush function to flush the buffer
|
|
// to the underlying writer. This is used
|
|
// to avoid file I/O, making the logger faster.
|
|
type writer struct {
|
|
*bytes.Buffer
|
|
w io.Writer
|
|
}
|
|
|
|
// Flush writes the buffer contents to the
|
|
// underlying writer
|
|
func (w writer) Flush() error {
|
|
_, err := io.Copy(w.w, w.Buffer)
|
|
return err
|
|
}
|