Информация журнала отображается, хотя свойство "LogLevel" прокомментировано - PullRequest
0 голосов
/ 04 февраля 2020

Я довольно новичок. Net Core. И я работаю над базовым ведением журнала информации по умолчанию провайдером ILogger. Первоначально мой AppSetting. json не был прокомментирован и мог видеть записи, которые я написал.

{
  "Logging": {
    "LogLevel": {
      "Default": "Debug",
      "System": "Information",
      "Microsoft": "Information"
    }
  },
  "AllowedHosts": "*"
} 

Позже я прокомментировал свойства LogLevel и запустил приложение Крестел сервер. Тогда я все еще вижу зарегистрированную информацию в консоли.

AppSettings. json

{
  "Logging": {
    //"LogLevel": {
    //  "Default": "Debug",
    //  "System": "Information",
    //  "Microsoft": "Information"
    //}
  },
  "AllowedHosts": "*"
}

Program.cs

public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
            WebHost.CreateDefaultBuilder(args)
                .ConfigureLogging((context, logging)
                    =>
                {
                    logging.ClearProviders();
                    logging.AddConfiguration(context.Configuration.GetSection("Logging"));
                    logging.AddConsole();
                })
                .UseStartup<Startup>();

Пример ведения журнала в HomeController.cs

public void LogExceptionToConsole()
        {
            _logger.LogError("This is raised by logger information");
        }

Консоль

enter image description here

Почему такое поведение? Если это поведение, почему он был разработан так? Может ли кто-нибудь объяснить мне.

Заранее спасибо

1 Ответ

0 голосов
/ 04 февраля 2020

ASP. NET Ядро определяет следующие уровни журналов, упорядоченные здесь от самой низкой до самой высокой серьезности:

Trace = 0 (Disabled by default)
Debug = 1 
Information = 2
Warning = 3
Error = 4
Critical = 5

Когда LogLevel не установлен в приложении (в файле startup.cs или в программе). .cs или appsettings. json или appsettings.development. json) для LogCategory, тогда Minimum LogLevel по умолчанию устанавливается как информация.

Следовательно, в вашем примере ошибка регистрируется, так как она выше значения по умолчанию Minimum LogLevel.

Вы можете обратиться к этой ссылке для получения более подробной информации

...