Update filelog.go

v1.0.2
hans 5 years ago
parent 0ec5f9b5a6
commit 4274b59c5b
  1. 22
      filelog.go

@ -72,16 +72,26 @@ func (w *mFileLogger) Close() error {
return w.flush() return w.flush()
} }
func NewFileLogger(path, name string, flushInterval time.Duration, fileSplitSize uint64, bufferSize int) io.Writer { func NewFileLogger(path, name string, flushInterval time.Duration, fileSplitSize uint64, bufferSize int) (writer io.Writer, err error) {
writer := &mFileLogger{ writer = &mFileLogger{
filepath: path, filepath: path,
name: name, name: name,
flushInterval: flushInterval, flushInterval: flushInterval,
fileSplitSize: fileSplitSize, fileSplitSize: fileSplitSize,
bufferSize: bufferSize, bufferSize: bufferSize,
writer: &bufferWriter{
logPath: path,
logName: name,
maxFileSize: fileSplitSize,
bufferSize: bufferSize,
},
} }
go writer.flushDaemon() err = writer.(*mFileLogger).writer.rotate(time.Now(), 0)
return writer if err != nil {
return
}
go writer.(*mFileLogger).flushDaemon()
return
} }
func (w *mFileLogger) flushDaemon() { func (w *mFileLogger) flushDaemon() {
@ -102,7 +112,7 @@ func (w *mFileLogger) flush() (err error) {
return return
} }
func (w *mFileLogger) Write(msg []byte) (n int, err error) { func (w *mFileLogger) Write(msg []byte) (n int, err error) {
buf := w.getBuffer() buf := w.getBuffer()
buf.Write(msg) buf.Write(msg)
@ -127,7 +137,7 @@ func (w *mFileLogger) Write(msg []byte) (n int, err error) {
} }
w.putBuffer(buf) w.putBuffer(buf)
return writer.Write(buf.Bytes()) return writer.Write(buf.Bytes())
} }
func (bufferW *bufferWriter) Write(p []byte) (int, error) { func (bufferW *bufferWriter) Write(p []byte) (int, error) {

Loading…
Cancel
Save