Skip to content

Commit bd1162b

Browse files
committed
Handle multi line log messages.
1 parent 01a4e86 commit bd1162b

File tree

1 file changed

+10
-9
lines changed

1 file changed

+10
-9
lines changed

zltest.go

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
package zltest
33

44
import (
5-
"bufio"
65
"bytes"
76
"encoding/json"
87
"sync"
@@ -61,24 +60,26 @@ func (tst *Tester) Entries() Entries {
6160
defer tst.mx.RUnlock()
6261
tst.t.Helper()
6362

64-
scn := bufio.NewScanner(bytes.NewReader(tst.buf))
6563
ets := make([]*Entry, 0, tst.cnt)
66-
for scn.Scan() {
64+
65+
var off int64
66+
dec := json.NewDecoder(bytes.NewReader(tst.buf))
67+
for dec.More() {
6768
m := make(map[string]interface{})
68-
if err := json.Unmarshal(scn.Bytes(), &m); err != nil {
69+
if err := dec.Decode(&m); err != nil {
6970
tst.t.Fatal(err)
71+
return Entries{t: tst.t}
7072
}
73+
74+
tmp := tst.buf[off:dec.InputOffset()]
75+
off = dec.InputOffset()
7176
ets = append(ets, &Entry{
72-
raw: scn.Text(),
77+
raw: string(bytes.TrimSpace(tmp)),
7378
m: m,
7479
t: tst.t,
7580
})
7681
}
7782

78-
if err := scn.Err(); err != nil {
79-
tst.t.Fatal(err)
80-
}
81-
8283
return Entries{e: ets, t: tst.t}
8384
}
8485

0 commit comments

Comments
 (0)