From 4d13e38908c39d6752391f65287006c654140d81 Mon Sep 17 00:00:00 2001 From: DBT Date: Thu, 26 Feb 2026 00:55:07 +0000 Subject: [PATCH] logs ui: render readable table with message/error/caller columns and raw toggle --- webui/src/pages/Logs.tsx | 49 ++++++++++++++++++++++++++++++++-------- 1 file changed, 39 insertions(+), 10 deletions(-) diff --git a/webui/src/pages/Logs.tsx b/webui/src/pages/Logs.tsx index 8ec6702..2a953fa 100644 --- a/webui/src/pages/Logs.tsx +++ b/webui/src/pages/Logs.tsx @@ -162,20 +162,49 @@ const Logs: React.FC = () => { {logs.length} entries -
- {logs.length === 0 && ( -
+
+ {logs.length === 0 ? ( +

Waiting for logs...

- )} - {logs.map((log, i) => ( -
- [{formatTime(log.time)}] - {(log.level || 'INFO').toUpperCase()} - {showRaw ? (log.__raw || JSON.stringify(log)) : renderReadable(log)} + ) : showRaw ? ( +
+ {logs.map((log, i) => ( +
{log.__raw || JSON.stringify(log)}
+ ))} +
- ))} + ) : ( + + + + + + + + + + + + {logs.map((log, i) => { + const lvl = (log.level || 'INFO').toUpperCase(); + const errText = (log as any).error || (lvl === 'ERROR' ? log.msg : ''); + const message = lvl === 'ERROR' ? ((log as any).message || log.msg || '') : ((log as any).message || log.msg || ''); + const caller = (log as any).caller || (log as any).source || ''; + return ( + + + + + + + + ); + })} + +
TimeLevelMessageErrorCode/Caller
{formatTime(log.time)}{lvl}{message}{errText}{caller}
+ )}