diff --git a/src/gateway/server.ts b/src/gateway/server.ts index bb05d26e3..eee23568c 100644 --- a/src/gateway/server.ts +++ b/src/gateway/server.ts @@ -5875,7 +5875,10 @@ export async function startGatewayServer( defaultProvider: DEFAULT_PROVIDER, defaultModel: DEFAULT_MODEL, }); - log.info(`agent model: ${agentProvider}/${agentModel}`); + const modelRef = `${agentProvider}/${agentModel}`; + log.info(`agent model: ${modelRef}`, { + consoleMessage: `agent model: ${chalk.whiteBright(modelRef)}`, + }); log.info(`listening on ws://${bindHost}:${port} (PID ${process.pid})`); log.info(`log file: ${getResolvedLoggerSettings().file}`); let tailscaleCleanup: (() => Promise) | null = null; diff --git a/src/logging.ts b/src/logging.ts index 6d8c6c6ae..743bfe783 100644 --- a/src/logging.ts +++ b/src/logging.ts @@ -488,15 +488,29 @@ export function createSubsystemLogger(subsystem: string): SubsystemLogger { message: string, meta?: Record, ) => { - logToFile(getFileLogger(), level, message, meta); const consoleSettings = getConsoleSettings(); + let consoleMessageOverride: string | undefined; + let fileMeta = meta; + if (meta && Object.keys(meta).length > 0) { + const { consoleMessage, ...rest } = meta as Record & { + consoleMessage?: unknown; + }; + if (typeof consoleMessage === "string") { + consoleMessageOverride = consoleMessage; + } + fileMeta = Object.keys(rest).length > 0 ? rest : undefined; + } + logToFile(getFileLogger(), level, message, fileMeta); if (!shouldLogToConsole(level, consoleSettings)) return; const line = formatConsoleLine({ level, subsystem, - message, + message: + consoleSettings.style === "json" + ? message + : (consoleMessageOverride ?? message), style: consoleSettings.style, - meta, + meta: fileMeta, }); writeConsoleLine(level, line); };