diff --git a/app/utils/runtimeCheckLogs.ts b/app/utils/runtimeCheckLogs.ts index d7c3f62..2aa201e 100644 --- a/app/utils/runtimeCheckLogs.ts +++ b/app/utils/runtimeCheckLogs.ts @@ -103,198 +103,175 @@ export async function runtimeCheckLogs(folderPath) { // fs.watchFile(filePath,{ interval: 15000 }, // async (eventType) => { //check special item, extra RAM, error in log - if (path === filePath) { - let lines = []; - let allFile = await LogDetectFile.all(); - let allReport = await LogReport.all(); - let allValue = await KeyValue.all(); + // if (path === filePath) { + // let lines = []; + // let allFile = await LogDetectFile.all(); + // let allReport = await LogReport.all(); + // let allValue = await KeyValue.all(); - //get information file - let fileDetect = allFile?.filter( - (i) => i.$original.file_name === fileName - )[0]; + // //get information file + // let fileDetect = allFile?.filter( + // (i) => i.$original.file_name === fileName + // )[0]; + + // let logsDetect = allReport?.filter( + // (i) => i.$original.id_file === fileDetect?.id_ldf + // ); + // //get the last line detected + // let lastLine = Math.max(...logsDetect.map((obj) => obj.line)); - // await LogDetectFile.findBy( - // "file_name", - // fileName - // ); - //get all log of file - // let logsDetect = await Database.rawQuery( - // "select * from log_reports where id_file = " + - // fileDetect?.id_ldf - // ); - let logsDetect = allReport?.filter( - (i) => i.$original.id_file === fileDetect?.id_ldf - ); - //get the last line detected - let lastLine = Math.max(...logsDetect.map((obj) => obj.line)); + // //get content file in local + // let contentFile = await fs + // .readFileSync(filePath) + // .toString() + // ?.split("\n"); - //get content file in local - let contentFile = await fs - .readFileSync(filePath) - .toString() - ?.split("\n"); + // //get index SN and send to ERP - //get index SN and send to ERP + // checkIndexSN(contentFile, lastLine, fileName); - checkIndexSN(contentFile, lastLine, fileName); + // //get list item to check + // let listKeyValues = allValue.filter( + // (i) => + // i.$original.key === "MODEL_SPECIAL" || + // i.$original.key === "CATCH_FAULTY" + // ); - //get list item to check - let listKeyValues = allValue.filter( - (i) => - i.$original.key === "MODEL_SPECIAL" || - i.$original.key === "CATCH_FAULTY" - ); + // //get list exclude error + // let listExcludeErr = allValue + // .filter((i) => i.$original.key === "EXCLUDE_ERR") + // .map((obj) => obj.$original.value); - //get list exclude error - let listExcludeErr = allValue - .filter((i) => i.$original.key === "EXCLUDE_ERR") - .map((obj) => obj.$original.value); + // //get list item special + // let listExtraItem = allValue + // .filter((i) => i.$original.key === "MODEL_SPECIAL") + // .map((obj) => obj.$original.value); - //get list item special - let listExtraItem = allValue - .filter((i) => i.$original.key === "MODEL_SPECIAL") - .map((obj) => obj.$original.value); + // //Process file content + // contentFile.map((line, index) => { + // //check line the line with errors and exclude errors + // listKeyValues + // .map((obj) => obj.$original.value) + // .map(async (value) => { + // if ( + // line.search(value) !== -1 && + // listExcludeErr.filter((err) => line.includes(err)) + // .length === 0 + // ) { + // let log = allFile?.filter( + // (i) => i.$original.file_name === fileName + // )[0]; - //Process file content - contentFile.map((line, index) => { - //check line the line with errors and exclude errors - listKeyValues - .map((obj) => obj.$original.value) - .map(async (value) => { - if ( - line.search(value) !== -1 && - listExcludeErr.filter((err) => line.includes(err)) - .length === 0 - ) { - let log = allFile?.filter( - (i) => i.$original.file_name === fileName - )[0]; + // let checkLog = allReport?.filter( + // (report) => + // report.$original.id_file === log?.id_ldf && + // report.$original.line === index + 1 && + // report.$original.detected_content === value + // ); - // const log = await LogDetectFile.findBy( - // "file_name", - // fileName - // ); - //check report of line not exist - let checkLog = allReport?.filter( - (report) => - report.$original.id_file === log?.id_ldf && - report.$original.line === index + 1 && - report.$original.detected_content === value - ); + // if (checkLog?.length === 0) { + // await LogReport.create({ + // detected_content: value, + // line: index + 1, + // id_file: log?.id_ldf, + // }); + // lines.push(index + 1); + // } + // } - // await Database.rawQuery( - // "select * from log_reports where id_file = " + - // log?.id_ldf + - // " and line = " + - // (index + 1) + - // " and detected_content='" + - // value + - // "'" - // ); + // // if(checkSpecialVersion()) + // }); + // }); - // if (checkLog?.length === 0) { - // await LogReport.create({ - // detected_content: value, - // line: index + 1, - // id_file: log?.id_ldf, - // }); - // lines.push(index + 1); - // } - } + // //true: import log to log_report table, send report to Zulip + // setTimeout(async () => { + // if (lines.length === 0) { + // console.log(`${fileName} has changed ---Good`); + // } else { + // console.log( + // `${fileName} has changed ---SOS---${lines.length}` + // ); + // let allReport_new = await LogReport.all(); + // let fileDetect = allFile?.filter( + // (i) => i.$original.file_name === fileName + // )[0]; - // if(checkSpecialVersion()) - }); - }); + // let logsDetect = allReport_new?.filter( + // (i) => i.$original.id_file === fileDetect?.id_ldf + // ); + // // console.log(logsDetect) + // // await Database.rawQuery( + // // "select * from log_reports where id_file = " + + // // fileDetect?.id_ldf + // // ); + // //Get all report newest + // let listReport = await getListLineByItem( + // logsDetect + // .map((obj) => obj.$original) + // .filter((l) => l.line > lastLine) + // ); - //true: import log to log_report table, send report to Zulip - setTimeout(async () => { - if (lines.length === 0) { - console.log(`${fileName} has changed ---Good`); - } else { - console.log( - `${fileName} has changed ---SOS---${lines.length}` - ); - let allReport_new = await LogReport.all(); - let fileDetect = allFile?.filter( - (i) => i.$original.file_name === fileName - )[0]; + // let content = + // "| |Last updated at | Item/error | Line | Report \n|---|:---:|:---|:---|:-----------:\n"; + // let spoiler = ""; + // let issueFound = ""; - let logsDetect = allReport_new?.filter( - (i) => i.$original.id_file === fileDetect?.id_ldf - ); - // console.log(logsDetect) - // await Database.rawQuery( - // "select * from log_reports where id_file = " + - // fileDetect?.id_ldf - // ); - //Get all report newest - let listReport = await getListLineByItem( - logsDetect - .map((obj) => obj.$original) - .filter((l) => l.line > lastLine) - ); + // listReport.map((log, index) => { + // let item = listExtraItem.includes(log.detected_content) + // ? ":medal: **" + log.detected_content + "**" + // : ":small_orange_diamond: " + log.detected_content; - let content = - "| |Last updated at | Item/error | Line | Report \n|---|:---:|:---|:---|:-----------:\n"; - let spoiler = ""; - let issueFound = ""; + // log.line?.map((line) => { + // issueFound = + // issueFound + + // "\n`" + + // line + + // "` " + + // contentFile[line - 1]?.replace( + // log.detected_content, + // "[" + + // log.detected_content + + // "](https://logs.danielvu.com/logs/" + + // fileName + + // "#" + + // line + + // ")" + // ); + // }); + // content = + // content + + // "|" + + // (index + 1) + + // "|**" + + // moment(Date.now()).format("HH:mm - DD/MM") + + // "**|" + + // item + + // "|" + + // log.line + + // "|[View](https://logs.danielvu.com/logs/" + + // fileName + + // "#" + + // log.line + + // ")\n"; + // }); - listReport.map((log, index) => { - let item = listExtraItem.includes(log.detected_content) - ? ":medal: **" + log.detected_content + "**" - : ":small_orange_diamond: " + log.detected_content; - - log.line?.map((line) => { - issueFound = - issueFound + - "\n`" + - line + - "` " + - contentFile[line - 1]?.replace( - log.detected_content, - "[" + - log.detected_content + - "](https://logs.danielvu.com/logs/" + - fileName + - "#" + - line + - ")" - ); - }); - content = - content + - "|" + - (index + 1) + - "|**" + - moment(Date.now()).format("HH:mm - DD/MM") + - "**|" + - item + - "|" + - log.line + - "|[View](https://logs.danielvu.com/logs/" + - fileName + - "#" + - log.line + - ")\n"; - }); - - // sendMessToZulip( - // "stream", - // Env.get("ZULIP_STREAM_ALERT"), - // Env.get("ZULIP_TOPIC_ALERT"), - // "------------\n\n:warning: :warning: **" + - // fileName + - // "**\n\n" + - // content + - // "\n\n" + - // spoiler + - // "\n\n***Issue found:***\n" + - // issueFound - // ); - } - }, 3000); - } + // sendMessToZulip( + // "stream", + // Env.get("ZULIP_STREAM_ALERT"), + // Env.get("ZULIP_TOPIC_ALERT"), + // "------------\n\n:warning: :warning: **" + + // fileName + + // "**\n\n" + + // content + + // "\n\n" + + // spoiler + + // "\n\n***Issue found:***\n" + + // issueFound + // ); + // } + // }, 3000); + // } + console.log(path + " change") }); }); }