Skip to content

Commit ab310e7

Browse files
authored
Merge pull request #304 from ygurumi/check-log-err-concat
[check-log] Make building the error lines efficiently
2 parents 86ed8ec + d8e225d commit ab310e7

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

check-log/lib/check-log.go

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -353,6 +353,7 @@ func (opts *logOpts) searchReader(ctx context.Context, rdr io.Reader) (warnNum,
353353
newReader = newBufferedReader
354354
}
355355

356+
var errLinesBuilder strings.Builder
356357
r := newReader(rdr)
357358
for ctx.Err() == nil {
358359
lineBytes, rErr := r.ReadBytes('\n')
@@ -377,7 +378,8 @@ func (opts *logOpts) searchReader(ctx context.Context, rdr io.Reader) (warnNum,
377378
if err != nil {
378379
warnNum++
379380
critNum++
380-
errLines += line + "\n"
381+
errLinesBuilder.WriteString(line)
382+
errLinesBuilder.WriteString("\n")
381383
} else {
382384
levelOver := false
383385
if level > opts.WarnLevel {
@@ -389,16 +391,20 @@ func (opts *logOpts) searchReader(ctx context.Context, rdr io.Reader) (warnNum,
389391
critNum++
390392
}
391393
if levelOver {
392-
errLines += line + "\n"
394+
errLinesBuilder.WriteString(line)
395+
errLinesBuilder.WriteString("\n")
393396
}
394397
}
395398
} else {
396399
warnNum++
397400
critNum++
398-
errLines += line + "\n"
401+
errLinesBuilder.WriteString(line)
402+
errLinesBuilder.WriteString("\n")
399403
}
400404
}
401405
}
406+
407+
errLines = errLinesBuilder.String()
402408
return
403409
}
404410

0 commit comments

Comments
 (0)