ASP. NET Core 3.1 HttpClient для записи только предупреждений и ошибок - PullRequest
1 голос
/ 30 марта 2020

Я заметил, что из-за HttpClient мое приложение (служба), которое должно работать в backgraund, создает журнал информации о регистрации мусора, например:

info: System. Net .Http.HttpClient.Default.LogicalHandler [100] Начать обработку HTTP-запроса POST https://localhost: 44317 / programmatic / getcontent info: System. Net .Http.HttpClient.Default.ClientHandler [100] Отправка HTTP-запрос POST https://localhost: 44317 / programmatic / getcontent info: System. Net .Http.HttpClient.Default.ClientHandler [101] Полученный HTTP-ответ после 3027.6345ms - OK info: System. Net .Http.HttpClient.Default.LogicalHandler [101] Завершить обработку HTTP-запроса после 3028.2987ms - ОК, информация: System. Net .Http.HttpClient.Default.ClientHandler [101] Получен HTTP-ответ после 3052.4709ms - OK информация: система . Net .Http.HttpClient.Default.LogicalHandler [101] Завершить обработку HTTP-запроса после 3053,467 мс - ОК

Есть ли способ настроить его где-нибудь?

Я ввожу Clien t фабрика, как это:

serviceCollection.AddHttpClient();

А затем создайте клиента, как это:

HttpClient client = _clientFactory.CreateClient();

Ответы [ 2 ]

1 голос
/ 30 марта 2020

Вы можете настроить вход в систему. NET Core через файл Appsettings. Вы должны найти раздел в файле appsettings.json вдоль строк

{
  "Logging": {
    "Debug": {
      "LogLevel": {
        "Default": "Information"
      }
    }
  }
}

. Вы можете добавить дополнительный фильтр уровня журнала, чтобы указать минимальный уровень журнала, необходимый для регистрации.

{
  "Logging": {
    "Debug": {
      "LogLevel": {
        "Default": "Information",
        "System.Net.Http.HttpClient": "Debug"
      }
    }
  }
}

Документация для ведения журнала с фильтрами в. NET Ядро можно найти здесь .

Документацию для ведения журнала с фильтрами можно найти в библиотеке IHttpClientFactory здесь . Эта документация также включает в себя примеры фильтрации журналов с именем HttpClient.

1 голос
/ 30 марта 2020

Вы можете переопределить уровень журнала в appsettings.json, добавив, например, новую строку к объекту ведения журнала:

  "Logging": {
    "LogLevel": {
      "System.Net.Http.HttpClient": "Warning"
    }
  },

Это будет регистрировать все, начиная с уровня Warning и выше.

...