From ff2de363f393f2270d5752eeb3db345fcf770c5c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Fi=C5=A1era?= Date: Thu, 31 Aug 2023 10:32:56 +0200 Subject: [PATCH] [browser] Print message arguments in forwarded console (#91315) --- src/mono/wasm/host/WasmLogMessage.cs | 1 + src/mono/wasm/host/WasmTestMessagesProcessor.cs | 16 +++++++++++++--- src/mono/wasm/runtime/loader/logging.ts | 2 +- 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/src/mono/wasm/host/WasmLogMessage.cs b/src/mono/wasm/host/WasmLogMessage.cs index 82f7e5200eec5..39a6b55e65d23 100644 --- a/src/mono/wasm/host/WasmLogMessage.cs +++ b/src/mono/wasm/host/WasmLogMessage.cs @@ -9,4 +9,5 @@ internal sealed class WasmLogMessage { public string? method { get; set; } public string? payload { get; set; } + public object[]? arguments { get; set; } } diff --git a/src/mono/wasm/host/WasmTestMessagesProcessor.cs b/src/mono/wasm/host/WasmTestMessagesProcessor.cs index bfdd297a5f46c..7bc6009ee3748 100644 --- a/src/mono/wasm/host/WasmTestMessagesProcessor.cs +++ b/src/mono/wasm/host/WasmTestMessagesProcessor.cs @@ -1,6 +1,8 @@ // Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. +using System; +using System.Linq; using System.Text.Json; using Microsoft.Extensions.Logging; @@ -27,18 +29,26 @@ public void Invoke(string message) try { logMessage = JsonSerializer.Deserialize(message); - line = logMessage?.payload ?? message.TrimEnd(); + if (logMessage != null) + { + line = logMessage.payload + " " + string.Join(" ", logMessage.arguments ?? Enumerable.Empty()); + } + else + { + line = message; + } } catch (JsonException) { - line = message.TrimEnd(); + line = message; } } else { - line = message.TrimEnd(); + line = message; } + line = line.TrimEnd(); switch (logMessage?.method?.ToLowerInvariant()) { case "console.debug": _logger.LogDebug(line); break; diff --git a/src/mono/wasm/runtime/loader/logging.ts b/src/mono/wasm/runtime/loader/logging.ts index eecddd2fb7654..938938f229d34 100644 --- a/src/mono/wasm/runtime/loader/logging.ts +++ b/src/mono/wasm/runtime/loader/logging.ts @@ -73,7 +73,7 @@ export function setup_proxy_console(id: string, console: Console, origin: string func(JSON.stringify({ method: prefix, payload: payload, - arguments: args + arguments: args.slice(1) })); } else { func([prefix + payload, ...args.slice(1)]);