| 
					
				 | 
			
			
				@@ -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); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 |