Don't crash if log line isn't understood

This commit is contained in:
Cadence Ember 2020-04-25 03:24:13 +12:00
parent 5c5339e34e
commit d98618a934
No known key found for this signature in database
GPG Key ID: 128B99B1B74A6412
1 changed files with 15 additions and 8 deletions

View File

@ -89,14 +89,20 @@ const regex = /^([^ ]+) - - \[([^\]]+)\] "([A-Z]+) ([^"]+) HTTP\/(?:1.0|1.1|2.0)
function parseLine(line) { function parseLine(line) {
const result = line.match(regex) const result = line.match(regex)
return { if (!result) {
ip: result[1], console.log("Line didn't match regular expression:")
date: result[2], console.log(line)
method: result[3], return null
path: result[4], } else {
status: result[5], return {
bytes: +result[6], ip: result[1],
userAgent: result[7] date: result[2],
method: result[3],
path: result[4],
status: result[5],
bytes: +result[6],
userAgent: result[7]
}
} }
} }
@ -124,6 +130,7 @@ let dateCollection = null
reader.on("line", line => { reader.on("line", line => {
const parsed = parseLine(line) const parsed = parseLine(line)
if (!parsed) return
const dateObject = new Date(parsed.date.replace(":", " ")) const dateObject = new Date(parsed.date.replace(":", " "))
//console.log(parsed) //console.log(parsed)