#javascript #regex #node.js #pug
#javascript #регулярное выражение #node.js #pug
Вопрос:
Итак, в моем коде ниже я записываю данные, извлеченные из совпадений регулярных выражений, на консоль. Однако мне нужно отобразить эти данные в файл jade, чтобы пользователь, который загружает файл журнала, мог сам просматривать совпадения. Есть идеи или сайты с информацией?
while ((match = reDiaBtoa.exec(newArray[j])) != null) {
if (match.index === reDiaBtoa.lastIndex) {
reDiaBtoa.lastIndex ;
}
if (match[2] === "ERROR") {
console.log(match[2]);
console.log("Time " match[1]);
console.log("Thread Name: " match[3]);
console.log("Source name amp; line number: " match[4]);
console.log("Log Message: " match[5] 'n');
console.log("-----------------------------------------------------------------" "n");
var logs = [new Log(match[1], match[3], match[4], match[5])]
}
}
ОБНОВЛЕНИЕ: Итак, это то, что я пробовал до сих пор.
Файл Jade:
...
form(method="post", action="/upload", enctype="multipart/form-data")
input(type="file", name="logName")
button(type="submit") Upload
h1.
Log List
#logs
for log in logs
include log
С помощью этого кода в моем index.js файл
/* GET home page. */
router.get('/', function (req, res) {
res.render('fileUpload', { title: 'Building a Log File Viewer' }, {logs: logs});
});
function Log(time, thread, source, mess) {
this.time = time;
this.thread = thread;
this.source = source;
this.mess = mess;
}
Но он выдает ошибку, которая регистрируется, не определена. Я полагаю, поскольку он не помещает совпадения в записи журнала.
Комментарии:
1. Поместить его в массив и передать его Jade?
Ответ №1:
res.render('fileUpload', { title: 'Building a Log File Viewer' }, {logs: logs});
должно быть
res.render('fileUpload', { title: 'Building a Log File Viewer', logs: logs });
Я думаю, что это будет logs
массив внутри шаблона jade, но я не думаю include log
, что он будет обрабатываться log
как переменная, он просто попытается включить файл с именем «log.jade». Вероятно, вам потребуется прочитать файлы журналов в вашем коде javascript, чтобы получить необходимые данные в виде строк, а затем передать их в jade для включения в HTML.
Комментарии:
1. Спасибо, он продолжает говорить, что logs не определен. Я использовал включаемый журнал для включения файла с именем log . jade, который выложил log.thread, log.source, log.mess. И я действительно читаю файлы журнала с помощью FileRead, но затем я анализирую данные с помощью регулярного выражения.