From e4187d90c0a1c6ad67aff039d13e832a3e94ffe4 Mon Sep 17 00:00:00 2001 From: Ben Allfree Date: Tue, 22 Jul 2025 08:13:52 -0700 Subject: [PATCH] fix(pockethost): console logger browser compat --- packages/pockethost/src/common/ConsoleLogger.ts | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/packages/pockethost/src/common/ConsoleLogger.ts b/packages/pockethost/src/common/ConsoleLogger.ts index ca3c46ef..e30431fd 100644 --- a/packages/pockethost/src/common/ConsoleLogger.ts +++ b/packages/pockethost/src/common/ConsoleLogger.ts @@ -10,6 +10,18 @@ const CONSOLE_METHODS = { [LogLevelName.Abort]: console.error, } +function formatArg(arg: any): any { + if (typeof arg === 'object' && arg !== null) { + try { + return JSON.stringify(arg, null, 2) + } catch (e) { + // Handle circular references or other JSON.stringify errors + return String(arg) + } + } + return arg +} + export function ConsoleLogger(initialConfig: Partial = {}): Logger { const config: LoggerConfig = { level: LogLevelName.Info, @@ -22,7 +34,8 @@ export function ConsoleLogger(initialConfig: Partial = {}): Logger function log(level: LogLevelName, args: any[]) { if (isLevelGte(level, config.level)) { - CONSOLE_METHODS[level](`[${level.toUpperCase()}]`, ...withBreadcrumbs(args)) + const formattedArgs = args.map(formatArg) + CONSOLE_METHODS[level](`[${level.toUpperCase()}]`, ...withBreadcrumbs(formattedArgs)) } }