diff --git a/logtail/logtail.go b/logtail/logtail.go index 69411926b..70325d57e 100644 --- a/logtail/logtail.go +++ b/logtail/logtail.go @@ -462,5 +462,6 @@ func (l *logger) Write(buf []byte) (int, error) { } } b := l.encode(buf) - return l.send(b) + _, err := l.send(b) + return len(buf), err } diff --git a/logtail/logtail_test.go b/logtail/logtail_test.go index 71bdfc43d..76f91127b 100644 --- a/logtail/logtail_test.go +++ b/logtail/logtail_test.go @@ -32,3 +32,18 @@ func TestLoggerEncodeTextAllocs(t *testing.T) { t.Logf("allocs = %d; want 1", int(n)) } } + +func TestLoggerWriteLength(t *testing.T) { + lg := &logger{ + timeNow: time.Now, + buffer: NewMemoryBuffer(1024), + } + inBuf := []byte("some text to encode") + n, err := lg.Write(inBuf) + if err != nil { + t.Error(err) + } + if n != len(inBuf) { + t.Errorf("logger.Write wrote %d bytes, expected %d", n, len(inBuf)) + } +}