From 60928b618c09fca13eef54e26b76ef48d83ff7d1 Mon Sep 17 00:00:00 2001 From: geekgeekrun Date: Thu, 12 Feb 2026 07:33:04 +0800 Subject: [PATCH] enhance log util about fail to JSON.stringify --- packages/ui/src/main/utils/overrideConsole.ts | 39 +++++++++++++++++-- 1 file changed, 36 insertions(+), 3 deletions(-) diff --git a/packages/ui/src/main/utils/overrideConsole.ts b/packages/ui/src/main/utils/overrideConsole.ts index 7e70c47..2d4b97b 100644 --- a/packages/ui/src/main/utils/overrideConsole.ts +++ b/packages/ui/src/main/utils/overrideConsole.ts @@ -27,16 +27,49 @@ export default function overrideConsole() { console.log = (...args: any[]) => { const lineHead = `${dayjs().format('YYYY-MM-DD HH:mm:ss.SSS')} [log][PID=${process.pid}]` originConsoleLog(lineHead, ...args) - logFileStream.write([lineHead, args.map((arg) => JSON.stringify(arg))].join(' ') + '\n') + logFileStream.write( + [ + lineHead, + args.map((arg) => { + try { + return JSON.stringify(arg) + } catch (err) { + return `[[${JSON.stringify(err?.toString())}]]` + } + }) + ].join(' ') + '\n' + ) } console.warn = (...args: any[]) => { const lineHead = `${dayjs().format('YYYY-MM-DD HH:mm:ss.SSS')} [warn][PID=${process.pid}]` originConsoleWarn(lineHead, ...args) - warnFileStream.write([lineHead, args.map((arg) => JSON.stringify(arg))].join(' ') + '\n') + warnFileStream.write( + [ + lineHead, + args.map((arg) => { + try { + return JSON.stringify(arg) + } catch (err) { + return `[[${JSON.stringify(err?.toString())}]]` + } + }) + ].join(' ') + '\n' + ) } console.error = (...args: any[]) => { const lineHead = `${dayjs().format('YYYY-MM-DD HH:mm:ss.SSS')} [warn][PID=${process.pid}]` originConsoleError(lineHead, ...args) - errorFileStream.write([lineHead, args.map((arg) => JSON.stringify(arg))].join(' ') + '\n') + errorFileStream.write( + [ + lineHead, + args.map((arg) => { + try { + return JSON.stringify(arg) + } catch (err) { + return `[[${JSON.stringify(err?.toString())}]]` + } + }) + ].join(' ') + '\n' + ) } }