netcore 2.1: невозможно создать регистратор с новым LoggerFactory () - PullRequest
0 голосов
/ 29 августа 2018

Я обновляю проект netcore 2.0 до netcore2.1

У меня есть базовый тестовый контроллер, который создает регистратор, например:

public class WSTestController
{
    protected readonly ILogger _log;
    protected readonly HttpClient _client;
    protected readonly IServiceCollection _services;

    public WSTestController() {
        _log = new LoggerFactory().AddConsole().CreateLogger(this.GetType().Name);
        var testContext = new TestContext();
        _client = testContext.Client;
    }

Это нормально работает с netcore 2.0, но в netcore 2.1 я получаю следующую ошибку:

controllers/WSTestController.cs(22,40): error CS1061: 
'LoggerFactory' does not contain a definition for 'AddConsole' and no accessible extension method 'AddConsole' accepting a first argument of type 'LoggerFactory' could be found 
(are you missing a using directive or an assembly reference?) [[...]/src/mtss-ws.integrationtests/mtss-ws.integrationtests.csproj]

Как я могу вручную создать консольный логгер (то есть без DI) в netvore 2.1?

Ответы [ 2 ]

0 голосов
/ 29 августа 2018

Эта ошибка была связана с моим обновлением с netcore 2.0 до 2.1

В этом ТАК вопрос Я объясняю это, но в основном мне пришлось добавить ссылку на пакет Microsoft.AspNetCore.App в тестовом проекте, как указано в этом руководстве по миграции

0 голосов
/ 29 августа 2018

Он все еще должен работать в netcore2.1, просто посмотрите здесь .

Вы также можете сделать это вручную, просто используя метод AddProvider:

loggerFactory.AddProvider(
    new ConsoleLoggerProvider(
        (text, logLevel) => logLevel >= LogLevel.Debug, true));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...