Microsoft.Extensions.Logging: создание экземпляра ILogger <MyClass>для захвата выходных данных журнала указанного экземпляра класса c - PullRequest
0 голосов
/ 06 февраля 2020

Я написал класс импорта для приложения asp. net core 3.1. Пока этот класс вызывается только из тестов решения.

Класс принимает в качестве параметра конструктора DbContext и экземпляр ILogger:

public class WinEURXMLImport : IImportService
{
    public WinEURXMLImport(AppDbContext dbContext, ILogger<WinEURXMLImport> logger)
    {
        this.dbContext = dbContext;
        this.logger = logger;
    }

    public async Task Import(Stream stream, WinEURXMLImportOptions options)
    {
        // import code comes here
    }
}

Это прекрасно работает в моем тесте project.

Теперь я хотел бы добавить доступ к этой функциональности из основного приложения. Однако я не просто хочу войти в средство ведения журнала по умолчанию, настроенное в приложении asp. net: мне нужно захватить выходные данные указанного экземпляра класса c, созданного для его отображения пользователю.

Как я могу создать экземпляр ILogger<WinEURXMLImport>, который позволит мне получить результат журнала для указанного экземпляра c, который я передаю в дополнение к обычному регистратору (который происходит от asp. net ядро)?

...