Skip to content

Commit

Permalink
🔥 up: remove the deprecated handler.BufferWrapper
Browse files Browse the repository at this point in the history
  • Loading branch information
inhere committed Dec 1, 2023
1 parent 3d27d07 commit 070293e
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 86 deletions.
48 changes: 0 additions & 48 deletions handler/buffer.go
Original file line number Diff line number Diff line change
Expand Up @@ -71,51 +71,3 @@ type FormatWriterHandler interface {
// Writer the output writer
Writer() io.Writer
}

// bufferWrapper struct
type bufferWrapper struct {
buffer FlushWriter
handler FormatWriterHandler
}

// BufferWrapper new instance.
//
// Deprecated: use `NewBufferedHandler` instead, will remove this func at v1.0
func BufferWrapper(h FormatWriterHandler, buffSize int) slog.Handler {
return &bufferWrapper{
handler: h,
buffer: bufwrite.NewBufIOWriterSize(h.Writer(), buffSize),
}
}

// IsHandling Check if the current level can be handling
func (w *bufferWrapper) IsHandling(level slog.Level) bool {
return w.handler.IsHandling(level)
}

// Flush all buffers to the `h.fcWriter.Writer()`
func (w *bufferWrapper) Flush() error {
if err := w.buffer.Flush(); err != nil {
return err
}
return w.handler.Flush()
}

// Close log records
func (w *bufferWrapper) Close() error {
if err := w.Flush(); err != nil {
return err
}
return w.handler.Close()
}

// Handle log record
func (w *bufferWrapper) Handle(record *slog.Record) error {
bts, err := w.handler.Formatter().Format(record)
if err != nil {
return err
}

_, err = w.buffer.Write(bts)
return err
}
44 changes: 6 additions & 38 deletions handler/buffer_test.go
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package handler_test

import (
"io/ioutil"
"os"
"testing"

"github.com/gookit/goutil/fsutil"
Expand All @@ -24,12 +24,12 @@ func TestNewBufferedHandler(t *testing.T) {
l := slog.NewWithHandlers(bh)
l.Info("buffered info message")

bts, err := ioutil.ReadFile(logfile)
bts, err := os.ReadFile(logfile)
assert.NoErr(t, err)
assert.Empty(t, bts)

l.Warn("buffered warn message")
bts, err = ioutil.ReadFile(logfile)
bts, err = os.ReadFile(logfile)
assert.NoErr(t, err)

str := string(bts)
Expand All @@ -39,38 +39,6 @@ func TestNewBufferedHandler(t *testing.T) {
assert.NoErr(t, err)
}

func TestBufferWrapper(t *testing.T) {
logfile := "./testdata/buffer-wrap-handler.log"
assert.NoErr(t, fsutil.DeleteIfFileExist(logfile))

h, err := handler.NewSimpleFile(logfile)
assert.NoErr(t, err)
assert.True(t, fsutil.IsFile(logfile))

bw := handler.BufferWrapper(h, 128)

// new logger
l := slog.NewWithHandlers(bw)
l.Info("buffered info message")

bts := fsutil.ReadFile(logfile)
assert.Empty(t, bts)

l.Warn("buffered warn message")
bts = fsutil.ReadFile(logfile)
str := string(bts)
assert.Contains(t, str, "[INFO]")

err = l.FlushAll()
assert.NoErr(t, err)
assert.NoErr(t, l.Close())

// test error
h.SetFormatter(newTestFormatter(true))
bw = handler.BufferWrapper(h, 128)
assert.Err(t, bw.Handle(newLogRecord("test error")))
}

func TestLineBufferedFile(t *testing.T) {
logfile := "./testdata/line-buff-file.log"
assert.NoErr(t, fsutil.DeleteIfFileExist(logfile))
Expand All @@ -83,7 +51,7 @@ func TestLineBufferedFile(t *testing.T) {
err = h.Handle(r)
assert.NoErr(t, err)

bts, err := ioutil.ReadFile(logfile)
bts, err := os.ReadFile(logfile)
assert.NoErr(t, err)

str := string(bts)
Expand All @@ -106,7 +74,7 @@ func TestLineBuffOsFile(t *testing.T) {
err = h.Handle(r)
assert.NoErr(t, err)

bts, err := ioutil.ReadFile(logfile)
bts, err := os.ReadFile(logfile)
assert.NoErr(t, err)

str := string(bts)
Expand Down Expand Up @@ -136,7 +104,7 @@ func TestLineBuffWriter(t *testing.T) {
err = h.Handle(r)
assert.NoErr(t, err)

bts, err := ioutil.ReadFile(logfile)
bts, err := os.ReadFile(logfile)
assert.NoErr(t, err)

str := string(bts)
Expand Down

0 comments on commit 070293e

Please sign in to comment.