소스 검색

as 调整

hl 8 달 전
부모
커밋
3aa8d42f7c
1개의 변경된 파일31개의 추가작업 그리고 24개의 파일을 삭제
  1. 31 24
      src/utils/file.js

+ 31 - 24
src/utils/file.js

@@ -92,7 +92,6 @@ function delFile() {
 /***********************************/
 function getLastFile(dirPath, number, callback) {
     fs.readdir(dirPath, async (err, files) => {
-        logger.info(`--------01`)
         if (err) {
             logger.error(`无法列出目录。`, err);
             // process.exit(1);
@@ -100,11 +99,12 @@ function getLastFile(dirPath, number, callback) {
             let fileList = [];
             //提示日志默认是根据日志生成的,拿到的files 也是 按照生成日志排序的,所以
             // 按照倒叙获取,如果一个文件内容满足num,就不在继续查询,如果不够,继续获取文件
-
+            // logger.info("文件:",files)
             for (file of files) {
                 const filePath = path.join(dirPath, file);
                 const stats = await fs.promises.stat(filePath);
                 fileList.push({name: file, time: stats.mtimeMs});
+                // logger.info("文件:" +filePath+"时间:"+stats.birthtime.getTime())
             }
 
             fileList.sort((a, b) => b.time - a.time);
@@ -118,30 +118,37 @@ function getLastFile(dirPath, number, callback) {
 
 // 读取日志(倒叙)指定行数
 function readLastNLines(dirPath, filePathList, n) {
-    const fileList = [];
-    var count = 0;
-    for(var i = filePathList.length-1;i >=0;i--){
-        var item = filePathList[i];
-        var filepath = dirPath + "/" + item
-
-        logger.info("日志文件:" + filepath)
-        const content = fs.readFileSync(`${filepath}`, "utf8");
-        let lines = content.trim().split("\n");
-
-        fileList.push({
-            filePath: item,
-            lines: lines,
-        })
-        count += lines.length;
-        if(count > n){
-            break
+    try {
+
+
+        const fileList = [];
+        var count = 0;
+        for (var i = filePathList.length - 1; i >= 0; i--) {
+            var item = filePathList[i];
+            var filepath = dirPath + "/" + item
+
+            logger.info("日志文件:" + filepath)
+            const content = fs.readFileSync(`${filepath}`, "utf8");
+            let lines = content.trim().split("\n");
+
+            fileList.push({
+                filePath: item,
+                lines: lines,
+            })
+            count += lines.length;
+            if (count > n) {
+                break
+            }
         }
-    }
-    fileList.reverse();
+        fileList.reverse();
 
-    const allFile = [].concat(...fileList.map((item) => item.lines));
-    let lastNLines = allFile.slice(-n).join("\n");
-    return lastNLines.split("\n").reverse();
+        const allFile = [].concat(...fileList.map((item) => item.lines));
+        let lastNLines = allFile.slice(-n).join("\n");
+        return lastNLines.split("\n").reverse();
+    } catch (e) {
+        logger.info('获取日志异常了~~1111111111111111', e);
+
+    }
 }