diff --git a/src/main/java/net/geedge/asw/module/runner/service/impl/JobServiceImpl.java b/src/main/java/net/geedge/asw/module/runner/service/impl/JobServiceImpl.java index 80e495b..194114a 100644 --- a/src/main/java/net/geedge/asw/module/runner/service/impl/JobServiceImpl.java +++ b/src/main/java/net/geedge/asw/module/runner/service/impl/JobServiceImpl.java @@ -156,13 +156,20 @@ public class JobServiceImpl extends ServiceImpl implements IJ if (logFile.exists()){ try (RandomAccessFile raf = new RandomAccessFile(logFile, "r")) { - raf.seek(offset); - byte[] bytes = new byte[(int)raf.length() - offset]; - raf.readFully(bytes); - String content = new String(bytes); - result.put("content", content); - result.put("length", bytes.length); - result.put("offset", offset + bytes.length); + if (offset > raf.length()){ + result.put("content", T.StrUtil.EMPTY); + result.put("length", 0); + result.put("offset", offset); + }else { + raf.seek(offset); + byte[] bytes = new byte[(int)raf.length() - offset]; + raf.readFully(bytes); + String content = new String(bytes); + result.put("content", content); + result.put("length", bytes.length); + result.put("offset", offset + bytes.length); + } + } catch (IOException e) { log.error("queryJobLog error", e); throw new ASWException(RCode.ERROR);