From 7c0c490f1c62301719388fd44df9c29a64213cfb Mon Sep 17 00:00:00 2001 From: hantmac Date: Sun, 1 Sep 2019 00:06:26 +0800 Subject: [PATCH] bug fix:fix read log file oom --- backend/services/log.go | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/backend/services/log.go b/backend/services/log.go index c6e4f090..2e6f25ed 100644 --- a/backend/services/log.go +++ b/backend/services/log.go @@ -34,9 +34,16 @@ func GetLocalLog(logPath string) (fileBytes []byte, err error) { return nil, err } defer f.Close() - logBuf := make([]byte, 2048) - n, err := f.ReadAt(logBuf, fi.Size()-int64(len(logBuf))) - if err != nil { + const bufLen = 2048 + logBuf := make([]byte, bufLen) + off := int64(0) + if fi.Size() > int64(len(logBuf)) { + off = fi.Size() - int64(len(logBuf)) + } + n, err := f.ReadAt(logBuf, off) + + //到文件结尾会有EOF标识 + if err != nil && err.Error() != "EOF" { log.Error(err.Error()) debug.PrintStack() return nil, err