Fix bug when a line happens to parse as JSON but isn't an object.
For example, if `false` happened to be the only value on a line, this would be parsed as valid JSON (a boolean) but it is not a structured log message that slfmt should try to parse and format.
This commit is contained in:
parent
6c978f32cc
commit
11cc9c9a39
@ -1,6 +1,6 @@
|
||||
# Package
|
||||
|
||||
version = "0.2.0"
|
||||
version = "0.2.1"
|
||||
author = "Jonathan Bernard"
|
||||
description = "Small utility to pretty-print strucutured logs."
|
||||
license = "MIT"
|
||||
|
@ -4,7 +4,7 @@ import docopt, timeutils, zero_functional
|
||||
from std/logging import Level
|
||||
from std/sequtils import toSeq
|
||||
|
||||
const VERSION = "0.2.0"
|
||||
const VERSION = "0.2.1"
|
||||
|
||||
const USAGE = """Usage:
|
||||
slfmt [options]
|
||||
@ -134,6 +134,8 @@ when isMainModule:
|
||||
while(sin.readLine(line)):
|
||||
try:
|
||||
let logJson = parseLogLine(line)
|
||||
if logJson.kind != JObject:
|
||||
raise newException(JsonParsingError, "Expected a JSON object")
|
||||
|
||||
if logLevel.isSome and logJson.hasKey("level"):
|
||||
let lvl = parseLogLevel(logJson["level"].getStr)
|
||||
|
Loading…
x
Reference in New Issue
Block a user