提问人:Magnetism 提问时间:2/19/2022 最后编辑:vikas kvMagnetism 更新时间:2/21/2022 访问量:221
在客户端筛选大型调试日志
Filter large debug logs on client side
问:
我正在开发一个网络应用程序。Web 应用可以执行代码并检索调试日志,并根据所选筛选器显示。此调试日志可能很大。Web 应用程序在服务器端有快速应用程序,在客户端有把手。目前,我正在将调试日志检索到服务器端代码中,并使用下面的代码。
const fs = require("fs");
const readline = require("readline");
const {Stream} = require("stream");
//creating file using below code
fs.writeFile("DebugLog.txt", debugLog, async function(err) {
if (err) {
throw err;
}
const result = await searchStream("DebugLog","USER_DEBUG|METHOD_ENTRY|METHOD_EXIT");
res.send(JSON.stringify({"DebugLog": result}));
});
//executing the search using below code
const searchStream = (filename, text) => {
return new Promise((resolve)=>{
const inStream = fs.createReadStream("./" + filename + ".txt");
const outStream = new Stream();
const rl = readline.createInterface(inStream, outStream);
const result = [];
const regEx = new RegExp(text, "i");
rl.on("line", function(line) {
if (line && line.search(regEx) >=0) {
result.push(line);
}
});
rl.on("close", function() {
console.log("finished search", filename);
resolve(result);
});
});
};
这样做最终会创建一个在整个服务器上可用的静态文件。但我需要该文件仅可用于用户会话。我正在寻找任何解决方案,这些解决方案可以创建仅适用于单个会话的文件或客户端过滤,而不必担心在服务器端创建文件。
答: 暂无答案
评论
os.tmpdir()