change runtimeCheckLog
This commit is contained in:
		
							parent
							
								
									c6333d40ea
								
							
						
					
					
						commit
						6d04a73c35
					
				| 
						 | 
					@ -87,13 +87,14 @@ export async function runtimeCheckLogs(folderPath) {
 | 
				
			||||||
    // Watch for changes in the files listed
 | 
					    // Watch for changes in the files listed
 | 
				
			||||||
    async function watchFilesInList() {
 | 
					    async function watchFilesInList() {
 | 
				
			||||||
      //only check new file ---> fileList - fileList_old = new file
 | 
					      //only check new file ---> fileList - fileList_old = new file
 | 
				
			||||||
 | 
					      let listFileWatch = fileList.slice(0, 40)?.filter((i) => fileList_old.includes(i) === false).map((file) => folderPath + "/" + file)
 | 
				
			||||||
      const watcher = chokidar.watch(
 | 
					      const watcher = chokidar.watch(
 | 
				
			||||||
        fileList.slice(0,40)
 | 
					        listFileWatch,
 | 
				
			||||||
          ?.filter((i) => fileList_old.includes(i) === false)
 | 
					        {
 | 
				
			||||||
          .map((file) => folderPath + "/" + file),{
 | 
					 | 
				
			||||||
          persistent: true,
 | 
					          persistent: true,
 | 
				
			||||||
            interval: 300000
 | 
					          interval: 300000,
 | 
				
			||||||
          });
 | 
					        }
 | 
				
			||||||
 | 
					      );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
      watcher.setMaxListeners(200);
 | 
					      watcher.setMaxListeners(200);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -101,16 +102,20 @@ export async function runtimeCheckLogs(folderPath) {
 | 
				
			||||||
        // fs.watchFile(filePath,{ interval: 15000 },
 | 
					        // fs.watchFile(filePath,{ interval: 15000 },
 | 
				
			||||||
        // async (eventType) => {
 | 
					        // async (eventType) => {
 | 
				
			||||||
        //check special item, extra RAM, error in log
 | 
					        //check special item, extra RAM, error in log
 | 
				
			||||||
          const fileName = path.split("/")[path.split("/").length - 1]
 | 
					        const fileName = path.split("/")[path.split("/").length - 1];
 | 
				
			||||||
          const filePath = path
 | 
					        const filePath = path;
 | 
				
			||||||
        let lines = [];
 | 
					        let lines = [];
 | 
				
			||||||
          const today = DateTime.now().toFormat('yyyy-MM-dd');
 | 
					        const today = DateTime.now().toFormat("yyyy-MM-dd");
 | 
				
			||||||
          let allFile = await LogDetectFile.query()
 | 
					        let allFile = await LogDetectFile.query().whereRaw(
 | 
				
			||||||
          .whereRaw(`DATE(created_at) = ?`, [today])
 | 
					          `DATE(created_at) = ?`,
 | 
				
			||||||
 | 
					          [today]
 | 
				
			||||||
 | 
					        );
 | 
				
			||||||
        // let allReport = await LogReport.all();
 | 
					        // let allReport = await LogReport.all();
 | 
				
			||||||
        let allValue = await KeyValue.all();
 | 
					        let allValue = await KeyValue.all();
 | 
				
			||||||
          const allReport = await LogReport.query()
 | 
					        const allReport = await LogReport.query().whereRaw(
 | 
				
			||||||
          .whereRaw(`DATE(created_at) = ?`, [today])
 | 
					          `DATE(created_at) = ?`,
 | 
				
			||||||
 | 
					          [today]
 | 
				
			||||||
 | 
					        );
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        //get information file
 | 
					        //get information file
 | 
				
			||||||
        let fileDetect = allFile?.filter(
 | 
					        let fileDetect = allFile?.filter(
 | 
				
			||||||
| 
						 | 
					@ -198,8 +203,8 @@ export async function runtimeCheckLogs(folderPath) {
 | 
				
			||||||
              .map(async (value) => {
 | 
					              .map(async (value) => {
 | 
				
			||||||
                if (
 | 
					                if (
 | 
				
			||||||
                  line.search(value) !== -1 &&
 | 
					                  line.search(value) !== -1 &&
 | 
				
			||||||
                    listExcludeErr.filter((err) => line.includes(err))
 | 
					                  listExcludeErr.filter((err) => line.includes(err)).length ===
 | 
				
			||||||
                      .length === 0
 | 
					                    0
 | 
				
			||||||
                ) {
 | 
					                ) {
 | 
				
			||||||
                  let log = allFile?.filter(
 | 
					                  let log = allFile?.filter(
 | 
				
			||||||
                    (i) => i.$original.file_name === fileName
 | 
					                    (i) => i.$original.file_name === fileName
 | 
				
			||||||
| 
						 | 
					@ -230,13 +235,21 @@ export async function runtimeCheckLogs(folderPath) {
 | 
				
			||||||
        //true: import log to log_report table, send report to Zulip
 | 
					        //true: import log to log_report table, send report to Zulip
 | 
				
			||||||
        setTimeout(async () => {
 | 
					        setTimeout(async () => {
 | 
				
			||||||
          if (lines.length === 0) {
 | 
					          if (lines.length === 0) {
 | 
				
			||||||
              console.log(fileName + "has changed("+contentFile.length+") ---Good");
 | 
					            console.log(
 | 
				
			||||||
 | 
					              fileName + "has changed(" + contentFile.length + ") ---Good"
 | 
				
			||||||
 | 
					            );
 | 
				
			||||||
          } else {
 | 
					          } else {
 | 
				
			||||||
            console.log(
 | 
					            console.log(
 | 
				
			||||||
                fileName + "has changed("+contentFile.length+") ---SOS---"+lines.length
 | 
					              fileName +
 | 
				
			||||||
 | 
					                "has changed(" +
 | 
				
			||||||
 | 
					                contentFile.length +
 | 
				
			||||||
 | 
					                ") ---SOS---" +
 | 
				
			||||||
 | 
					                lines.length
 | 
				
			||||||
 | 
					            );
 | 
				
			||||||
 | 
					            let allReport_new = await LogReport.query().whereRaw(
 | 
				
			||||||
 | 
					              `DATE(created_at) = ?`,
 | 
				
			||||||
 | 
					              [today]
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
              let allReport_new = await LogReport.query()
 | 
					 | 
				
			||||||
              .whereRaw(`DATE(created_at) = ?`, [today])
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
            let fileDetect = allFile?.filter(
 | 
					            let fileDetect = allFile?.filter(
 | 
				
			||||||
              (i) => i.$original.file_name === fileName
 | 
					              (i) => i.$original.file_name === fileName
 | 
				
			||||||
| 
						 | 
					@ -315,9 +328,13 @@ export async function runtimeCheckLogs(folderPath) {
 | 
				
			||||||
                issueFound
 | 
					                issueFound
 | 
				
			||||||
            );
 | 
					            );
 | 
				
			||||||
          }
 | 
					          }
 | 
				
			||||||
          }, 3000)
 | 
					        }, 3000);
 | 
				
			||||||
        // console.log(path + " change")
 | 
					        // console.log(path + " change")
 | 
				
			||||||
      });
 | 
					      });
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					      watcher.on("error", (error) => {
 | 
				
			||||||
 | 
					        console.error(`Watcher error: ${error}`);
 | 
				
			||||||
 | 
					      });
 | 
				
			||||||
      // await fileList.slice(0,40)
 | 
					      // await fileList.slice(0,40)
 | 
				
			||||||
      //   ?.filter((i) => fileList_old.includes(i) === false)
 | 
					      //   ?.filter((i) => fileList_old.includes(i) === false)
 | 
				
			||||||
      //   ?.forEach((fileName) => {
 | 
					      //   ?.forEach((fileName) => {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue