Различные и множественные выходы журнала - PullRequest
0 голосов
/ 29 мая 2020

Я создал приложение ASP. NET Core 3 с шаблоном API. Я добавил строку регистрации информации в WeatherForecastController:

_logger.LogInformation("HELLO!");

Консольный вывод этой строки отличается в зависимости от того, где я запускаю приложение.

Когда я запускаю приложение с dotnet run в Windows Терминал:

info: WebApplication1.Controllers.WeatherForecastController[0]
      HELLO!

Когда я запускаю в режиме отладки в Visual Studio 2019:

WebApplication1.Controllers.WeatherForecastController: Information: HELLO!

Когда я запускаю в режиме отладки в Visual Studio Code, я получаю оба варианта одновременно:

info: WebApplication1.Controllers.WeatherForecastController[0]
      HELLO!
WebApplication1.Controllers.WeatherForecastController: Information: HELLO!

Различия меня беспокоят, но основная причина, по которой я беспокоюсь, заключается в том, что я использую код Visual Studio, а дублирующийся вывод делает его намного сложнее для чтения.

Почему выходные данные разные и могу ли я каким-то образом контролировать это, чтобы получить одинаковое везде или хотя бы один из них в Visual Studio Code?

1 Ответ

0 голосов
/ 29 мая 2020

В шаблоне по умолчанию ASP. NET строка Host.CreateDefaultBuilder(args) добавляет как DebugLogger, так и ConsoleLogger. Запуск dotnet run отображается с консоли, а Visual Studio 2019 показывает от отладки. Код Visual Studio показывает оба.

Мое лучшее решение - добавить это в мой appsettings.development. json, чтобы отключить ведение журнала отладки (и сохранить только журнал консоли):

{
    "Logging": {
        "Debug": {
            "LogLevel": {
                "Default": "None"
            }
        }
    }
}
...