From 9f5d55567044787ca72db419bc80049c6d882e7a Mon Sep 17 00:00:00 2001 From: Nicolas Mowen Date: Fri, 5 Apr 2024 09:36:04 -0600 Subject: [PATCH] Properly parse go2rtc severity --- web/src/pages/Logs.tsx | 37 ++++++++++++++++++++++++++++--------- 1 file changed, 28 insertions(+), 9 deletions(-) diff --git a/web/src/pages/Logs.tsx b/web/src/pages/Logs.tsx index 948fa8884..c516b130f 100644 --- a/web/src/pages/Logs.tsx +++ b/web/src/pages/Logs.tsx @@ -15,7 +15,7 @@ const frigateDateStamp = /\[[\d\s-:]*]/; const frigateSeverity = /(DEBUG)|(INFO)|(WARNING)|(ERROR)/; const frigateSection = /[\w.]*/; -const goSeverity = /(DEB )|(INF )|(WARN )|(ERR )/; +const goSeverity = /(DEB )|(INF )|(WRN )|(ERR )/; const goSection = /\[[\w]*]/; const ngSeverity = /(GET)|(POST)|(PUT)|(PATCH)|(DELETE)/; @@ -152,9 +152,28 @@ function Logs() { contentStart = line.indexOf(section) + section.length + 2; } + let severityCat: LogSeverity; + switch (severity?.at(0)?.toString().trim()) { + case "INF": + severityCat = "info"; + break; + case "WRN": + severityCat = "warning"; + break; + case "ERR": + severityCat = "error"; + break; + case "DBG": + case "TRC": + severityCat = "debug"; + break; + default: + severityCat = "info"; + } + return { dateStamp: line.substring(0, 19), - severity: "INFO", + severity: severityCat, section: section, content: line.substring(contentStart).trim(), }; @@ -169,7 +188,7 @@ function Logs() { return { dateStamp: line.substring(0, 19), - severity: "INFO", + severity: "info", section: ngSeverity.exec(line)?.at(0)?.toString() ?? "META", content: line.substring(line.indexOf(" ", 20)).trim(), }; @@ -299,7 +318,7 @@ function Logs() { value={item} aria-label={`Select ${item}`} > -
{`${item} Logs`}
+
{item}
))} @@ -334,7 +353,7 @@ function Logs() { ref={contentRef} className="w-full h-min my-2 font-mono text-sm sm:py-2 whitespace-pre-wrap overflow-auto no-scrollbar bg-primary border border-secondary rounded-md" > -
+
Type
Timestamp @@ -387,11 +406,11 @@ function LogLineData({ startRef, className, line }: LogLineDataProps) { const severityClassName = useMemo(() => { switch (line.severity) { case "info": - return "text-primary-foreground/40 bg-muted"; + return "text-primary-foreground/60 bg-secondary hover:bg-secondary/60"; case "warning": - return "text-warning-foreground bg-warning"; + return "text-warning-foreground bg-warning hover:bg-warning/80"; case "error": - return "text-destructive-foreground bg-destructive"; + return "text-destructive-foreground bg-destructive hover:bg-destructive/80"; } }, [line]); @@ -402,7 +421,7 @@ function LogLineData({ startRef, className, line }: LogLineDataProps) { >
{line.severity}