Запись объекта в Blazor на консоль - PullRequest
1 голос
/ 17 апреля 2020

Я хочу зарегистрировать объект в браузере консоли для просмотра во время выполнения на клиентском приложении 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}:");

, но это просто записывает имя объекта.

Может кто-нибудь помочь, пожалуйста, подскажите мне, где я здесь ошибаюсь?

...