Я хочу зарегистрировать объект в браузере консоли для просмотра во время выполнения на клиентском приложении WASM Blazor.
Я могу записывать строковые значения без проблем, но мне нравится иметь возможность регистрировать и детализировать объекты, как если бы я использовал javascript console.log.
Я работаю;
Microsoft.AspNetCore.Blazor 3.1.0-Preview3.19555.2
Blazor.Extensions.Logging 1.1.0-preview2
Документация для состояний
Регистратор поддерживает то же форматирование строк, что и MEL, вместе с заменой именованных параметров в сообщении.
Кроме того, вы возможность войти в объект в консоли браузера. Вы можете развернуть элементы и иерархии, чтобы увидеть, что в них содержится.
Если вы хотите регистрировать перечислимый список объектов, компонент на стороне браузера отобразит его, вызвав console.table.
Взято из BlazorExtensions / Logging
Однако, например, если я хочу запустить журнал следующим образом:
logger.LogDebug(result);
, где результатом является объект POCO , он не компилируется.
Я вставляю регистратор в файл razor
@inject ILogger<AddForm> logger
и в мой startup.cs
services.AddLogging(builder => builder
.AddBrowserConsole()
.SetMinimumLevel(LogLevel.Trace)
);
и, наконец, в мой _import.razor
У меня есть;
@using Microsoft.Extensions.Logging
Для полноты я также попытался JSON сериализовать объект;
logger.LogDebug("Logging Contact Object", JsonConvert.SerializeObject(contact));
, но это всего лишь вывод "объекта" на консоль.
, а также;
logger.LogDebug($"Logging Contact Object :{contact}:");
, но это просто записывает имя объекта.
Может кто-нибудь помочь, пожалуйста, подскажите мне, где я здесь ошибаюсь?