Regexp support for node 8.9.4+

Changed the log regexp to remove named capture groups as this is only supported in 10.3+.
This commit is contained in:
emizzle 2018-10-14 18:02:31 +11:00 committed by Pascal Precht
parent fd142ac2e6
commit 7690418bb1
No known key found for this signature in database
GPG Key ID: 0EE28D8D6FD85D7D
1 changed files with 15 additions and 15 deletions

View File

@ -4,7 +4,7 @@ const date = require('date-and-time');
const constants = require('../constants');
const DATE_FORMAT = 'YYYY-MM-DD HH:mm:ss:SSS';
// const LOG_REGEX = /\[(?<date>\d\d\d\d-\d\d-\d\d \d\d:\d\d:\d\d:\d\d\d)\] (?:\[(?<logLevel>\w*)\]:?)?\s?\s?(?<msg>.*)/gmi;
const LOG_REGEX = new RegExp(/\[(\d\d\d\d-\d\d-\d\d \d\d:\d\d:\d\d:\d\d\d)\] (?:\[(\w*)\]:?)?\s?\s?(.*)/gmi);
class Logger {
constructor(options) {
@ -38,21 +38,21 @@ class Logger {
let matches;
let logs = [];
const logFile = fs.readFileSync(this.logFile, 'utf8');
//while ((matches = LOG_REGEX.exec(logFile)) !== null) {
// // This is necessary to avoid infinite loops with zero-width matches
// if (matches.index === LOG_REGEX.lastIndex) {
// LOG_REGEX.lastIndex++;
// }
while ((matches = LOG_REGEX.exec(logFile)) !== null) {
// This is necessary to avoid infinite loops with zero-width matches
if (matches.index === LOG_REGEX.lastIndex) {
LOG_REGEX.lastIndex++;
}
// if (matches && matches.groups) {
// logs.push({
// msg: [matches.groups.msg],
// logLevel: matches.groups.logLevel,
// name: 'embark',
// timestamp: date.parse(matches.groups.date, DATE_FORMAT).getTime()
// });
// }
//}
if (matches && matches.length) {
logs.push({
msg: [matches[3]],
logLevel: matches[2],
name: 'embark',
timestamp: date.parse(matches[1], DATE_FORMAT).getTime()
});
}
}
// if 'limit' is specified, get log lines from the end of the log file
if(limit && limit > 0 && logs.length > limit){