bug fix: hot fix out of memory problem caused by log read

This commit is contained in:
hantmac
2019-08-30 17:58:58 +08:00
parent 36eaad64a5
commit 1b29a27ab0

View File

@@ -7,7 +7,7 @@ import (
"crawlab/utils"
"encoding/json"
"github.com/apex/log"
"io/ioutil"
"os"
"runtime/debug"
)
@@ -16,13 +16,28 @@ var TaskLogChanMap = utils.NewChanMap()
// 获取本地日志
func GetLocalLog(logPath string) (fileBytes []byte, err error) {
fileBytes, err = ioutil.ReadFile(logPath)
f, err := os.Open(logPath)
if err != nil {
log.Errorf(err.Error())
log.Error(err.Error())
debug.PrintStack()
return fileBytes, err
return nil, err
}
return fileBytes, nil
fi, err := f.Stat()
if err != nil {
log.Error(err.Error())
debug.PrintStack()
return nil, err
}
defer f.Close()
logBuf := make([]byte, 2048)
n, err := f.ReadAt(logBuf, fi.Size()-int64(len(logBuf)))
if err != nil {
log.Error(err.Error())
debug.PrintStack()
}
logBuf = logBuf[:n]
return logBuf, nil
}
// 获取远端日志