@Nikita07

Как правильно задать уровень введения журнала ILogger?

Всем привет, вопрос в следующем, есть ILogger, в Program определена его конфигурация
using (var host = new WebHostBuilder()
              // Код
               .ConfigureLogging(ConfigureLogging)
              // Код

 static void ConfigureLogging(ILoggingBuilder builder)
        {
            builder.AddConsole();
        }


В файле appsettings.json определен уровень введния журанала
{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Microsoft": "Warning",
      "Microsoft.Hosting.Lifetime": "Information"
    }
  }
}


и в appsettings.Development.json
{
  "Logging": {
    "LogLevel": {
      "Default": "Warning"
    }
  }
}


Т.е. в данном случаи логгер должен вести только уровень warning и выше, но при запуске появляется уровень info
606eee0195c52521943659.png

И сам вопрос, откуда берется info, если он должен ввести уровни от warning?

p.s Если изменить метод ConfigureLogging следующим образом
static void ConfigureLogging(ILoggingBuilder builder)
        {
            builder.AddConsole();
            builder.SetMinimumLevel(LogLevel.Warning);
        }

то логгирование пойдет только для warning, но как можно обойтись только файлом appsettings.json?
  • Вопрос задан
  • 61 просмотр
Пригласить эксперта
Ответы на вопрос 1
vabka
@vabka Куратор тега C#
Токсичный шарпист
Видимо, у вас Environment не Development, вот и не переопределился.
А ещё у вас явно переопределён уровень логирования для
Microsoft.Hosting.Lifetime в базовом профиле, по тому их он будет писать от Information уровня
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы