1 Вопрос: Как зарегистрировать json в журнале ядра asp.net и взглянуть на приложения

вопрос создан в Wed, May 8, 2019 12:00 AM

Есть ли способ зарегистрировать что-то вроде следующего в asp.net core 2?

_logger.LogInformation("Someone did something! \r\n{detail}", new {
    SomeObject = someVariable,
    SomeOtherObject = someOtherVariable
});

Я пробовал это с сериализованными значениями, но результирующий json, похоже, обрезается.

    
1
1 ответ                              1                         

Параметр, который вы пытаетесь использовать, предназначен для аргументов, которые обычно используются для интерполяции строки сообщения. Некоторые провайдеры журналирования, такие как Serilog, сохранят эти аргументы как JSON, но затем вы полагаетесь на конкретного провайдера и то, как они решили его обработать.

Если вы хотите просто заменить {detail} на объект JSON, просто сделайте это прямо в сообщении:

var detail = JsonConvert.SerializeObject(new
{
    SomeObject = someVariable,
    SomeOtherObject = someOtherVariable
});
_logger.LogInformation($"Someone did something! \r\n{detail}");
    
2
2019-05-08 16: 17: 51Z
  1. Я сделаю это. Мне показалось, что в какой-то момент json обрезают, поэтому я поиграю с этим.
    2019-05-08 18: 20: 26Z
источник размещен Вот